2010/01/08

XPages Tutorial Part 35 : 正規表現を使用した妥当性検査

Advanced Validation Using RegEX {Original Source}

JobTitle フィールドの妥当性検査はとてもシンプルなもので、入力が必須であることと文字数の制限を加えました。
今度は電話番号について、通常数値と + または - の文字だけで構成されているかを確認しなければなりません。
また Email アドレスでは 英数字に加えて @ や . などの一部の特殊文字が含まれて構成されていることを検査しなければなりません。
これを実現するために正規表現を使用して文字列の中の文字やパターンをチェックしていきます。
通常、正規表現は簡単なものから複雑なものまでありますが、今回は一般的に利用されているものを考えていきます。

では「content_Person」カスタムコントロールを開き、「OfficePhoneNumber」編集コントロールを選択してください。もし皆さんがサーバーサイドの妥当性検査を使用するつもりなら「エラー表示」コントロールを「OfficePhoneNumber」にリンクさせる形で追加してください。そして、編集コントロールのプロパティのクライアントサイドでの検証を無効にしてください。

編集ボックスコントロールに対して、妥当性検査タブの中の「必須フィールド」を指定してください。

次にすべてのプロパティに切り替え、データ - validators のセクションに移動します。
その行の中をクリックすると小さな「+」と「-」のボタンが現れ、「+」ボタンを押すと編集ボックスに追加できる様々な検証のリストが表示されます。

今回 xp:cvalidateConstrait の検証を使用します。追加されたプロパティフィールドに以下のようにメッセージと正規表現を記述します。

今回利用する正規表現は RegExLibrary というサイトから入手しています。このサイトではアプリケーションの中で利用できる正規表現をたくさん見ることができます。たとえば、電話番号 (上で使用), Email アドレス, アメリカの郵便番号 など様々なものが用意されています。ただ正規表現は多様な記述方法があるので、動作するかしないかを最終的に皆さんがテストして確認しなければならないので注意してください。

ではカスタムコントロールを保存して、XPage を読み込み電話番号を編集し文字なども入力して妥当性検査が有効かどうかを確認してください。


これまで入力されたデータの内容に対して妥当かどうかをチェックする方法を見てきました。
次回はページを保存するボタンを作成します。保存ボタンは編集モードではないときに非表示になるようにしたいと思います。

0 件のコメント:

コメントを投稿