JSFでのバリデーションについてです。検証には2つの方法があることを知っています
- Bean 検証
- JSF検証
独自の検証クラスを作成したいと考えています。カスタム検証クラスを JSF Bean に追加することはできますか?
facelett に検証クラスを入れたくありません。ビーンだけで...
JSFでのバリデーションについてです。検証には2つの方法があることを知っています
独自の検証クラスを作成したいと考えています。カスタム検証クラスを JSF Bean に追加することはできますか?
facelett に検証クラスを入れたくありません。ビーンだけで...
はい、次のように独自のバリデータ クラスを作成できます。
@FacesValidator("customValidator")
public class CustomValidator implements Validator{
public void validate(FacesContext context, UIComponent component,
Object value) throws ValidatorException {
// do your validation here
}
}
フェイスレットで使用します。
<h:inputText value="#{myBean.myValue}">
<f:validator validatorId="customValidator" />
</h:inputText>
注釈の内容はの属性と@FacesValidator
一致する必要があることに注意してください。validatorId
f:validator
さらに、jsf 入力要素にはvalidator
属性があります。この属性を使用して、検証をバッキング Bean の特別なメソッドに委譲できます。
と
public void validateInput(FacesContext context,
UIComponent component, Object object) {
// your validation with 'object' here
}
あなたはこれを行うことができます、
こちらをご覧ください。 http://www.javabeat.net/examples/2008/07/09/write-your-own-validator-in-jsf/