ASP.NET Mobileのホームへ戻る

RequiredFieldValidatorコントロール

 

RquiredFieldValidatorは、必須項目のコントロールに対して使用します。RequiredFieldValidatorは、TextBoxなどデータ入力系のコントロールに適用します。

 

書式:

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

  ControlToValidate=”String”

  Display=”{None|Static|Dynamic}”

  ErrorMessage=”String”

  InitialValue=”String”

  Text=”String”>

</mobile:RequiredFieldValidator>

 

 

RequiredFieldValidatorをテストするサンプル

 

RequiredFieldValidatorをテストするサンプル

 

このサンプルは、RequiredFieldValidatorコントロールをテストします。ToValidateTextBoxにデータを入力しない状態でテストボタンを選択すると、図4-3-1-1の中央画面のようにエラーメッセージが表示されます。TextBoxにデータを入力してからテストボタンを選択すると右画面のように「OK!」のメッセージが表示されます。

 

InitialValueTextBoxには、ToValidateTextBoxにデフォルト値を表示するときに使用します。たとえば、「テストデータ入力・・・」をデフォルトで表示するときは、InitilaValueにも同じデータを入力します。InitialValueToValidateの値が一致するとときは、ToValidateのデータが未入力と見なしてエラーとします。

 

サンプルの行25では、ToValidateTextBoxを定義しています。行26-30では、RequiredFieldValidatorを定義しています。行28では、ControlToValidateプロパティにToValidateTextBoxIDを設定しています。これでTextBoxRequiredFieldValidatorが適用されます。行29では、DisplayプロパティにDynamicを設定してエラーを検出したときのみエラーメッセージを表示するようにしています。行30では、ErrorMessageプロパティにエラーメッセージを設定しています。ここで設定したエラーメッセージは、ValidationSummaryに表示されます。RequiredFieldValidatorTextプロパティを省略すると、ErrorMessageに設定した値が表示されます。Textには、カレントページに表示されるエラーメッセージを設定します。

 

31-33では、「テスト」のCommandを定義しています。行33では、CommandOnClickイベントを登録しています。ここで定義したCommandは、フォームをポストバックさせるために使用します。

 

17: <mobile:Form id="frmTest" runat="server">
 18: <mobile:Label runat="server"
 19:   StyleReference="Label"
 20:   Text="InitilaValue" />
 21: <mobile:TextBox id="txtInitialValue" runat="server" />
 22: <mobile:Label runat="server"
 23:   StyleReference="Label"
 24:   Text="ToValidate" />
 25: <mobile:TextBox id="txtToValidate" runat="server" />
 26: <mobile:RequiredFieldValidator id="valRequiredField" runat="server"
 27:   StyleReference="Validator"
 28:   ControlToValidate="txtToValidate"
 29:   Display="Dynamic"
 30:   ErrorMessage="
テストデータ入力!" />
 31: <mobile:Command id="cmdSubmit" runat="server"
 32:   Text="
テスト"
 33:   OnClick="cmdSubmit_Click" />
 34: </mobile:Form>

 

テストボタンを選択すると、フォームがポストバックされてCommandコントロールのOnClickイベントに制御が渡ります。このイベントの行9では、InitialValueTextBoxに入力された値を取得してRequiredFieldValidatorInitialValueプロパティに設定しています。行10では、RequiredFieldValidatorValidate()メソッドでToValidateTextBoxにデータが入力されているか診断しています。

 

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

 

  8: Sub cmdSubmit_Click(s As Object, e As EventArgs)
  9:   valRequiredField.InitialValue = txtInitialValue.Text.Trim()
 10:   valRequiredField.Validate()
 11:   If IsValid Then
 12:     ActiveForm = frmResult
 13:   End If
 14: End Sub

ASP.NET Mobileのホームへ戻る