每个输入字段有多个bean验证器

时间:2012-02-23 10:09:30

标签: validation jsf-2

是否可以为此输入字段设置多个验证器?

即。 SearchAuditLogBackingBean.validate1(),SearchAuditLogBackingBean.validate2()。

<p:inputTextarea id="searchCriteria"
  validator="#{searchAuditLogBackingBean.validateSearchCriteria}">
</p:inputTextarea>

1 个答案:

答案 0 :(得分:1)

您可以使用<f:validator>注册多个验证器。它们将按照声明的顺序调用。您应该只将验证方法放在一个完整的@FacesValidator类而不是支持bean中。

<p:inputTextarea id="searchCriteria">
    <f:validator validatorId="searchCriteriaValidator" />
    <f:validator validatorId="someOtherValidator" />
</p:inputTextarea>

@FacesValidator("searchCriteriaValidator")
public class SearchCriteriaValidator implements Validator {
    // ...
}

@FacesValidator("someOtherValidator")
public class SomeOtherValidator implements Validator {
    // ...
}