TOP
>
システム開発
> バリデータの設定
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> バリデータを設定している様子です。
図1:birthMonthに指定したバリデータ
1
2
3
次のページ
著者プロフィール
著者:WINGSプロジェクト 佐藤治夫(株式会社ビープラウド)、
小泉守義
監修:山田祥寛
WINGSプロジェクトは、有限会社WINGSプロジェクト(代表取締役山田祥寛)が運営するライティング・チーム。海外記事の翻訳から、主にサーバサイド分野の書籍/雑誌/Web記事の執筆、講演、アプリケーション開発などを幅広く手がける。2006年7月時点での登録メンバーは20名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。
INDEX
第8回:バリデータの設定とメッセージの日本語化
バリデータの設定
バリデータ動作のテスト
JDeveloperのバリデータメッセージの日本語化