JSF1.2系などと異なりJSF2系では必要なアノテーション定義することで設定ファイル(faces-config.xml)は必須でなくなりとてもスマートで良いですね!
なるべくならアノテーションによる既存バリデーションで済むのがベストですが、やはり、カスタムバリデータが必要なのも現実です。。
ということで、以下に携帯電話番号入力のカスタムバリデータをやってみました。
カスタムバリデータを作るには以下がポイントです。
- javax.faces.validator.Validatorインターフェースを実装しvalidateメソッドを実装します。
- カスタムバリデータクラスに対して@FacesValidatorを付与します。また一意となるIDを定義します。(例ではパッケージ+クラス名としています。)
- 画面側でf:validatorタグのvalidatorId属性に@FacesValidatorで指定したIDを指定します
■MobilePhoneValidator.java(カスタムバリデータクラス)
■inputSample.xhtml(入力画面)
■InputBean.java(入力画面で入力された値を格納するBeanクラス)
■inputSampleOk.xhtml(次の画面)
0 件のコメント:
コメントを投稿