【问题标题】:Ajax event is not triggering Validation (Facescontext)Ajax 事件未触发验证(Facescontext)
【发布时间】:2014-03-25 18:12:03
【问题描述】:

我的 Jsf 表单上有两个字段日期。

日期 1:出生日期和日期 2:Date_Retire

当用户从 Date_retire 中选择一个日期时,它应该大于 18 岁。

<h:outputText value="DOB:" />
<p:calendar pattern="mm/dd/yyyy" id="dob" value="#{ActorComponent.actor.dob}"
    required="false" converter="primefacesCalendarConverter" />

<h:outputText value="Date retired:" />
<p:calendar pattern="mm/dd/yyyy" id="dateretired" 
        value="#{ActorComponent.actor.dateretired}"
        required="false" converter="primefacesCalendarConverter" >
    <p:ajax event="dateSelect" listener="#{ActorComponent.minimumDate()}" 
        process= "dateretired"" >
</calendar>

听众:

public void minimumDate(Calendar Object){
    Calendar dob=actor.getdob();
    dob.add(Calendar.Year,18);
    if(Object.before(dob)){              
        FacesContext.getCurrentInstance().addMessage(
            "FacesMessage.SEVERITY_ERROR", 
            new FacesMessage("Date is not valid."));
    }
}

ajax 不工作。 Facescontext 不显示该消息。任何人都可以帮忙吗?

【问题讨论】:

  • 如果您的视图中有一个名为 FacesMessage.SEVERITY_ERROR 的组件,我会感到惊讶。你的意思是生成一个全局消息吗?尝试将null 作为第一个参数传递给addMessage。您的视图代码也需要审查。它至少有两个错误。

标签: spring jsf primefaces


【解决方案1】:

我不确定“dateSelect”是否是真实事件,请尝试使用“click”或“onclick”

<p:ajax event="click"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 2014-03-07
    相关资源
    最近更新 更多