ASP.NET Mobileのホームへ戻る

RegularExpressionValidatorコントロール

 

RegularExpressionValidatorは、TextBoxなどから入力したデータの内容をチェックするときに使用します。チェックするデータのパターンは、ValidationExpressionプロパティに設定します。RegularExpressionValidatorは、メールアドレス、パスワード、郵便番号、電話番号などの形式をチェックするときに利用すると便利です。

 

 

書式:

<mobile:RegularExpressionValidator id=”String” runat=”server”

  ControlToValidate=”String”

  Display=”{None|Static|Dynamic}”

  ErrorMessage=”String”

  Text=”String”

  ValidationExpression=”String”>

</mobile:RegularExpressionValidator>

 

 

RegularExpressionValidatorをテストするサンプル

 

RegularExpressionValidatorをテストするサンプル

 

このサンプルは、RegularExpressionValidatorをテストします。Validation ExpressionSelectionList(DropDown)には、メール宛先、パスワード、郵便番号、電話番号の形式をチェックする書式(Expression)が格納されています。SelectionListからアイテムを選択したらToValidateTextBoxにテストデータを入力してテストボタンを選択します。テストデータの形式が不正なときは、エラーメッセージが表示されます。

 

サンプルの行22-30では、Validation Expression SelectionList(DropDown)を定義しています。行25-29では、<Item>タグでメール宛先、パスワード、郵便番号、電話番号の書式(Expression)を定義しています。

 

22: <mobile:SelectionList id="slstExpression" runat="server"
 23:   StyleReference="List" Wrapping="NoWrap"
 24:   SelectType="DropDown">
 25:   <Item Text="
パターン 選択" Value="" />
 26:   <Item Text="
メール宛先" Value="\S+@\S+\.\S{2,3}" />
 27:   <Item Text="
パスワード" Value="[a-zA-Z]+\w*\d+\w*" />
 28:   <Item Text="
郵便番号" Value="(\d{3})-(\d{4})" />
 29:   <Item Text="
電話番号" Value="(\d{1,4})-(\d{1,4})-(\d{1,4})" />           
 30: </mobile:SelectionList>

 

34では、ToValidateTextBoxを定義しています。ここで定義したTextBoxには、テストデータを入力します。行35-40では、RegularExpressionValidatorを定義しています。行38では、ControlToValidateプロパティにToValidateTextBoxIDを設定しています。これでTextBoxRegularExpressionValidatorが適用されます。

 

34: <mobile:TextBox id="txtToValidate" runat="server" />
 35: <mobile:RegularExpressionValidator
 36:   id="valRegularExpression" runat="server"
 37:   StyleReference="Validator"
 38:   ControlToValidate="txtToValidate"
 39:   Display="Dynamic"
 40:   ErrorMessage="
テストデータが不正です!" />

 

テストボタンを選択すると、フォームがポストバックされてCommandOnClickイベントに制御が渡ります。このイベントの行9-10では、Validation ExpressionSelectionListから選択したアイテム(MobileListItem)Valueプロパティから書式(Expression)を取得してRegularExpressionValidatorValidationExpressionプロパティに設定しています。たとえば、SelectionListから「メール宛先」を選択したときは、ValidationExpressionに「\S+@\S+\.\S{2,3}」が設定されます。

 

11では、RegularExpressionValidatorValidate()メソッドでTextBoxに入力したテストデータを診断しています。行12-14では、MobilePageクラスのIsValidプロパティを参照して診断結果を調べています。エラーがないときは、ActiveFormプロパティにfrmResultフォームを設定して「OK!」を表示します。エラーを検出したときは、カレントページにエラーメッセージが表示されます。

 

 

  8: Sub cmdTest_Click(s As Object, e As EventArgs)
  9:   valRegularExpression.ValidationExpression = _
 10:     slstExpression.Selection.Value
 11:   valRegularExpression.Validate()
 12:   If IsValid Then
 13:     ActiveForm = frmResult
 14:   End If
 15: End Sub

 

ASP.NET Mobileのホームへ戻る