2012-02-23 6 views
1

この入力フィールドに複数のバリデーターを使用できますか?入力フィールドごとに複数のBeanバリデーター

I.e. SearchAuditLogBackingBean.validate1()、SearchAuditLogBackingBean.validate2()。

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

答えて

1

<f:validator>を使用して複数のバリデータを登録することができます。それらは宣言された順序で呼び出されます。検証メソッドは、バッキングBeanではなく、完全に@FacesValidatorクラスに入れるだけです。

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

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

こんにちはBalusCと

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

私は、このオプションを知っていたが、私はまた、このようなバリデータがEJB DIとうまくいかないあなたの他の記事から見ました。すなわち、バリデータクラスにEJBリソースを注入する。 –

+1

'@FacesValidator'を' @ManagedBean'に変更し、 'validatorId'の代わりに' binding = "#{searchCriteriaValidator}" 'を使用してください。 – BalusC

関連する問題