TOP
>
システム開発
> <f:validator>タグを使用する方法
JDeveloperで学ぶJSF入門
第12回:カスタムバリデータの作成方法〜JSFをより高度に利用するために
著者:
WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:
山田祥寛
2006/8/28
前のページ
1
2
<f:validator>タグを使用する方法
まず、<f:validator>タグを使用する方法を説明します。手順は次のとおりです。
バリデータクラスを作成
バリデータをJSF設定ファイルに登録
JSPファイルに記述
表3:タグを使用するための手順
この場合、標準で用意されている<f:validator>タグを使用するので、カスタムタグを作成する必要はありません。
カスタムバリデータクラスの作成
カスタムバリデータクラスを作成する際のポイントは、次のとおりです。
1. javax.faces.validator.Validatorをimplementsする
Validatorインターフェイスはvalidate()メソッドを定義しているので、バリデータクラスはvalidate()メソッドを実装します。
2. 検証処理ロジック
validate()メソッド内で検証エラーと判定した場合は、ValidatorExceptionをスローします。サンプルでは、あらかじめ想定した「山」「川」という合言葉に入力文字列が一致しない場合にValidatorExceptionをスローしています。
ValidatorExceptionのコンストラクタにはエラーメッセージ文字列を保持したFacesMessageのインスタンスを設定します。FacesMessageが保持するエラーメッセージは、本来はメッセージバンドルから取得すべきですが、ここではわかりやすくするため、直接文字列を指定しています。カスタムバリデータ(WordValidator.java)のソースをリスト1に示します。
リスト1:WordValidator.java(抜粋)
(画像をクリックすると別ウィンドウに拡大図を表示します)
JSF設定ファイルへの登録
次に、作成したバリデータをJSF設定ファイル(faces-config.xml)に登録します(リスト2)。
リスト2:faces-config.xml(抜粋)
(画像をクリックすると別ウィンドウに拡大図を表示します)
<validator-id>要素には、<f:validator>タグのvalidatorId属性で指定する値と同じものを設定します。<validator-class>要素には、バリデータのクラス名を設定します。
JSPファイルへのタグの記述
最後に、JSPファイル(custom_validator.jsp)にタグを記述します(リスト3)。<f:validator>タグのvalidatorId属性には、リスト2に示したJSF設定ファイルの<validator-id>要素の値と同じものを設定します。
リスト3:custom_validator.jsp(抜粋)
(画像をクリックすると別ウィンドウに拡大図を表示します)
次回は
次回はバリデータをカスタムで作成する方法として、表1にあげた2つ目の「独自のバリデータタグを作成する方法」について解説します。
前のページ
1
2
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛
WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。
INDEX
第12回:カスタムバリデータの作成方法〜JSFをより高度に利用するために
はじめに
<f:validator>タグを使用する方法