2010/01/08

XPages Tutorial Part 33: 簡単なデータの妥当性検査

Simple Data Validation {Original Source}

これまでブラウザの中でエンドユーザーが文書を編集するところまでできました。しかしユーザーが間違った文字を入力しないように工夫する必要があります。
たとえば、Job Title は 50 文字まで、電話番号は +、-、そして数字しか含まないといったものです。
XPages ではこのような制限を設ける方法として 2 つあります。
ひとつはクライアントサイド、もうひとつはサーバーサイドで制限をかけることです。
お勧めはクライアントサイドのバリデーションになります。なぜならユーザーがサーバーにそのデータを送信し、評価の結果を待たなければならないからです。
ですが、今回はどちらの方法が良いかを判断するために両方の方法をお見せしたいと思います。

では XPages でできる簡単なデータの妥当性検査を見ていきます。
「content_Person」カスタムコントロール内のJob Title フィールドに簡単な妥当性検査を追加します。今回は入力必須と 10 文字より多く50 文字を超えてはいけないという条件です。

ではカスタムコンロトール内の Job Title フィールドを選択し、プロパティボックスを見てください。
「妥当性検査」タブを選択し「必須フィールド」にチェックし、入力がなかった際に出力するエラーメッセージを入力します。
その右側には文字列の長さの検証プロパティがあります。
またこれらの検証オプションには右側に青のダイアモンドがありますのでもし必要であれば JavaScript を使って値の計算させることもできます。
たとえば、ACL 上に「DataManager」というロールが割り当てられているユーザーにだけは「必須フィールド」のチェックを外し、すばやく文書を編集させるといったことも可能です。

ところで XPage はどのようにしてそれが文字列だということが分かるのでしょうか?プロパティのデータタブに戻っていただくと、フィールドのタイプを指定する場所があります。
このデータフィールドのタイプを変更すると妥当性検査のタブにはデータタイプに見合うオプションが用意されます。たとえば数値フィールドでは連番の検証、日付/時刻フィールドでは日時の検証としてその範囲を指定することができます。

また「すべてのプロパティ」タブの中に「validators」の中でも上記の設定を確認することができます。

ではこのカスタムコントロールを保存し XPage を再読み込みしてください。そして文書を開き編集モードにし Job Title フィールドを空にして保存しようとする際に今回指定したエラーメッセージが表示されるかどうかを確認してください。

以上がクライアントサイドの妥当性検査になります。次回はこれをサーバーサイドの検証としてコンバートしその違いを確認してみたいと思います。


ダウンロードファイル xPhoneP33.zip

0 件のコメント:

コメントを投稿