 |
|
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名で、現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は、どしどし応募いただきたい。
|
|
|
|