如何为特定字段设置自定义消息

时间:2015-09-18 18:35:36

标签: jsf properties messages

您好使用JSF 1(不是JSF 2)。

<h:inputText id="myElem"
         value="#{backingBean.myElem}"
         required="true"/>
<h:message id="myElemMsg" styleClass="errorMsg" for="myElem"/>

<h:inputText id="myElem2"
         value="#{backingBean.myElem2}"
         required="true"/>
<h:message id="myElem2Msg" styleClass="errorMsg" for="myElem2"/>

我的消息属性是:

javax.faces.component.UIInput.REQUIRED=A value is required.

现在,只要缺少任何内容,我就会得到A值,但是我希望myElem2的自定义消息能够说出其他内容。

1 个答案:

答案 0 :(得分:1)

我知道您使用的是JSF 1.0 / 1.1。你基本上有两个选择:

  1. 创建自定义验证程序。

    <h:inputText id="myElem2" 
        value="#{backingBean.myElem2}"
        validator="customRequiredValidator" />
    

    其中你只是在其中抛​​出ValidatorException所需的信息。

    if (isEmpty(value)) {
        throw new ValidatorException(new FacesMessage("Your message here"));
    }
    
  2. 或者,只需升级到JSF 1.2即可。它引入了requiredMessage属性。

    <h:inputText id="myElem2" 
        value="#{backingBean.myElem2}"
        required="true" requiredMessage="Your message here" />