2012-04-24 13 views
0

JSFの検証についてです。私はJSF Beansにカスタム検証を追加することは可能ですか?

  1. ビーン検証
  2. JSF検証が

が、私は私自身のバリデーションクラスを書きたいの検証のための2つの方法があることを知っています。 JSF Beansにカスタム検証クラスを追加することは可能ですか?

私はfacelettにバリデーションクラスを入れたくありません。 Beanのみ...

答えて

2

はいあなたはこのような独自のバリデータクラス記述することができます。

@FacesValidator("customValidator") 
public class CustomValidator implements Validator{ 

    public void validate(FacesContext context, UIComponent component, 
      Object value) throws ValidatorException { 
     // do your validation here 
    } 
} 

をし、あなたのフェイスレットでそれを使用します。@FacesValidator注釈の内容がvalidatorIdと一致しなければならないこと

<h:inputText value="#{myBean.myValue}"> 
    <f:validator validatorId="customValidator" /> 
</h:inputText> 

注意をf:validatorの属性です。

さらに、jsf入力要素にはvalidator属性があります。この属性を使用して、Beanをバッキングする特別なメソッドに検証を委任できます。

public void validateInput(FacesContext context, 
          UIComponent component, Object object) { 
    // your validation with 'object' here 
} 
1
+0

それは私が欲しいものではありません。 jsfページに検証を追加します。 – Kayser

+0

そこには、独自のバリデータを作成するためにValidatorインターフェイスを実装する必要があります。あなたは正確に何をしたいですか? –

+0

Beanでは、注釈で値を確認できます。似たような。私は、Beanの入力値を検証するバリデーターを書きたいと思っています。そして私はfaceletに入れたくありません – Kayser

関連する問題