2012-02-23 2 views

ответ

1

Вы можете использовать <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 { 
    // ... 
} 
+0

Привет BalusC Я знал, что этот вариант, но я также видел с других постов, что такое валидатор не идет хорошо с EJB DI. т.е. вводя в класс валидатора ресурс EJB. –

+1

Измените '@ FacesValidator' на' @ ManagedBean' и используйте 'binding =" # {searchCriteriaValidator} "вместо' validatorId'. – BalusC

Смежные вопросы