0

JSFでのバリデーションについてです。検証には2つの方法があることを知っています

  1. Bean 検証
  2. JSF検証

独自の検証クラスを作成したいと考えています。カスタム検証クラスを JSF Bean に追加することはできますか?

facelett に検証クラスを入れたくありません。ビーンだけで...

4

2 に答える 2

2

はい、次のように独自のバリデータ クラスを作成できます。

@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一致する必要があることに注意してください。validatorIdf:validator

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

public void validateInput(FacesContext context, 
                          UIComponent component, Object object) {
  // your validation with 'object' here
}
于 2012-04-24T12:32:14.050 に答える
1

あなたはこれを行うことができます、

こちらをご覧ください。 http://www.javabeat.net/examples/2008/07/09/write-your-own-validator-in-jsf/

于 2012-04-24T12:30:07.337 に答える