Несколько валидаторов бина на поле ввода - PullRequest
1 голос
/ 23 февраля 2012

Возможно ли иметь несколько валидаторов для этого поля ввода?

Т.е. SearchAuditLogBackingBean.validate1 (), SearchAuditLogBackingBean.validate2 ().

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

1 Ответ

1 голос
/ 23 февраля 2012

Вы можете использовать <f:validator> для регистрации нескольких валидаторов.Они будут вызываться в том порядке, в котором они были объявлены.Вы должны помещать валидные методы только в полноценный класс @FacesValidator вместо базового компонента.

<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 {
    // ...
}
...