TOPシステム開発> バリデータの設定




まるごとサーバサイドJava
JDeveloperで学ぶJSF入門

第8回:バリデータの設定とメッセージの日本語化

著者:WINGSプロジェクト  佐藤治夫(株式会社ビープラウド)、
小泉守義

監修:山田祥寛   2006/8/17
1   2  3  次のページ
バリデータの設定

   今度は入力画面の項目について、次のような制約を課すバリデータを設定してみましょう。
  • すべての項目の入力が必須
  • 日付入力欄に入力できるのは正の整数だけ
  • 誕生月入力欄に入力できるのは1から12までの整数だけ
  • 誕生日入力欄に入力できるのは1から31までの整数だけ

表1:今回のバリデータの設定

   ではこれから、このような制約に反する場合、各項目の下にエラーメッセージが表示されるようページを書き換えていきます。


コンポーネントIDの設定

   どの入力項目でエラーが発生したのかを識別できるように、各入力コンポーネントのID属性を表2のように設定しておきます。

項目名 コンポーネントのID
誕生年 birthYear
誕生月 birthMonth
誕生日 birthDay
性別 sex
血液型 bloodType

表2:コンポーネントIDと項目名の対応


メッセージボックスの配置

   入力テキストボックスの下にエラーメッセージが表示されるようコンポーネント・パレットから「Message」コンポーネントをドラッグして配置します。配置の際に表示される「Messageの作成」ダイアログでは、どのコンポーネントに対してエラーメッセージを表示させるのかを指定するため、for属性に、前項で設定したコンポーネントIDを記述します。

   日付入力欄は3つの入力テキストにまたがっているため、1つのメッセージボックスにエラーメッセージを表示させることができません。そこで、パネルグループの下に年、月、日の順にメッセージボックスを並べることにします。


required属性の設定

   各入力項目を必須、もしくは任意となるよう指定するには、入力コンポーネントのrequired属性を変更します。required属性に「true」を指定すると、入力されていない状態でアクションイベントを発生させるとエラーが出るようになります。


バリデータの指定

   ある入力データが整数で、かつ特定の範囲内かどうかを判定するバリデータとして<f:validateLongRange>が標準で用意されています。これをバリデートしたいコンポーネントの中に子要素として挿入することで、目的の入力制約を達成することができます。

   バリデータを指定したいコンポーネントを構造ペインより指定し、コンポーネント・パレットでプルダウンメニューから「JSF Core」カテゴリを選択したあと、「ValidateLongRange」コンポーネントをドラッグして、任意のコンポーネント上に配置します。すると、挿入されたバリデータがエディタ上で選択された状態になるので、ここで属性を指定します。minimum属性が範囲の下限、maximum属性が範囲の上限となっています。

   図1は、birthMonth入力テキストコンポーネントに指定した<f:validateLongRange> バリデータを設定している様子です。

birthMonthに指定したバリデータ
図1:birthMonthに指定したバリデータ

1   2  3  次のページ

書籍紹介
まるごとサーバサイドJava! Vol.1
まるごとサーバサイドJava! Vol.1 〜初心者からプロまですべての開発者に贈る〜サーバサイドJavaのすべてをまるごと紹介
サーバサイドで実行されるシステム環境Java EEを取り巻く環境は一大変革を遂げようとしています。J2EE時代のEJB(Enterprise Java Beans)からPOJO(Plain Old Java Object)へ、オブジェクト指向からアスペクト指向へ。Sun Microsystems外から発生した新しい流れは本家Java EE 5へ取り入れられる予定です。本書はこうしたJavaの新潮流を余すことなくお伝えします。

発売日:2006/09/01
定価:\2,415(本体 \2,300+税)
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、小泉守義 監修:山田祥寛
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛

WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第8回:バリデータの設定とメッセージの日本語化
バリデータの設定
  バリデータ動作のテスト
  JDeveloperのバリデータメッセージの日本語化
JDeveloperで学ぶJSF入門
第1回 JSFの特長
第2回 JSFを構成する要素
第3回 JSFのライフサイクルとStrutsとの比較
第4回 環境設定
第5回 JSFアプリケーションを作成しよう
第6回 情報入力ページの作成
第7回 コマンドボタンの配置と結果出力ページの作成
第8回 バリデータの設定とメッセージの日本語化
第9回 アプリケーションロジックを追加する
第10回 モデルとビューを統合する
第11回 バインディングとテスト
第12回 カスタムバリデータの作成方法〜JSFをより高度に利用するために
第13回 独自のバリデータタグの作成
第14回 カスタムコンバータの作成
第15回 カスタムコンポーネントの作成(前編)
第16回 カスタムコンポーネントの作成(後編)