カスタム・バリデーターの作成

動的 Web ページを設計する場合は、 別の方法で検証していたデータでもカスタム・バリデーターを使用できます。 カスタム・バリデーターは、実行依頼されたデータを調べて、そのデータについて妥当性検査を行います。 例えば、入力テキスト・フィールドにカスタム・バリデーターを追加して、 実行依頼された値に 9 つの数値が含まれていることを確認する場合に、 実行依頼された値に 9 つの数値が含まれていないと、 ページの提供時にカスタム・バリデーターがエラー・メッセージを表示します。

以下の手順は、Web プロジェクトにカスタム・バリデーターを作成する方法の 1 つです。
  1. Web プロジェクトを作成する (「ファイル」 > 「新規」 > 「動的 Web プロジェクト」)。
  2. 新規の Faces JSP ページを作成する (「ファイル」 > 「新規」 > 「Faces JSP ファイル」)。
  3. 「プロジェクト・エクスプローラー」ビューで、Web プロジェクトの「Java™ ソース」フォルダーを開く。
  4. 「Java ソース」フォルダーを右クリックしてから、「新規」 > 「パッケージ」をクリックする。
  5. 「新規 Java パッケージ」ダイアログでパッケージに「validator」と指定して、 「終了」をクリックする。 「validator」という名前の新しいパッケージが作成され、 「Java ソース」フォルダーに表示されます。
  6. その「validator」という名前のパッケージを右クリックして、「新規」 > 「クラス」の順にクリックする。
  7. 「新規 Java クラス」ダイアログで、以下を行います。
    1. クラス名として「MyValidator」を指定する。
    2. 「追加」をクリックする。
    3. 表示される「実装されたインターフェースの選択」ダイアログの「インターフェースの選択」フィールドに、 「javax.faces.validator.Validator」と入力する。
    4. 「OK」をクリックする。
    5. 「終了」をクリックする。 この MyValidator.java ファイルは「validator」フォルダー内に作成され、 次のような Java コードが組み込まれています。
      package validator;
      
      import javax.faces.component.UIComponent;
      import javax.faces.context.FacesContext;
      import javax.faces.validator.Validator;
      import javax.faces.validator.ValidatorException;
      
      public class MyValidator implements Validator {
      
      	/* (non-Javadoc)
      	 * @see javax.faces.validator.Validator#validate(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
      	 */
      	public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
      		throws ValidatorException {
      		// TODO Auto-generated method stub
      
      	}
      
      public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
      		throws ValidatorException {
      System.out.println("my custom validator");
      		//TODO: カスタム妥当性検査コードをここに追加してください。このコードは JSF ライフ・サイクルの妥当性検査
      		//      フェーズで実行されます。検証エラーが起った場合は、例外メッセージをスローできます。
      		//      言い換えると、h:メッセージ (複数も可) コンポーネントを使用して使用できます。
      	 }
  8. 同プロジェクトの「WEB-INF」フォルダーで、faces-config.xml という名前のファイルを開く。 このファイルに次のコードを追加する。
    <validator>
    	<validator-id>MyValidator<validator-id>	
    	<validator-class>validator.MyValidator<validator-class>
    <validator>
  9. ステップ 2 で作成したページに、入力テキスト・フィールドを追加する。
  10. ページの「ソース」モードで、以下のように、inputText の子として validator タグを追加し、validatorId 属性を以下のように「MyValidator」に設定する。
    <h:inputText styleClass="inputText" id="text1"><f:validator validatorId="MyValidator"></f:validator></h:inputText>
  11. ページに「コマンド - ボタン」コンポーネントを追加する。
  12. サーバーでこのページを実行する。 コマンド・ボタンをクリックすると、 コンソールに「my custom validator」と表示されます。
関連概念
JavaServer Faces
関連タスク
Faces 入力コンポーネントへの妥当性検査の追加
Faces アプリケーションの作成 - 概要
Faces JSP ファイルの作成
JavaServer Faces のライフ・サイクル
関連資料
Faces コンポーネント参照
Faces コンポーネントの属性
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved. (C) Copyright IBM Japan 2005