ASP.NET 検証コントールのホームへ戻る

RequiredFieldValidatorの使い方

 

   RequiredFieldValidatorをテストするサンプル

 

RequiredFieldValidatorをテストするサンプル

 

このサンプルは、RequiredFieldValidatorコントロールをテストします。Test DataTextBoxにデータを入力しない状態でテストボタンをクリックするとエラーメッセージが表示されます。データを入力してからテストボタンをクリックすると「OK」が表示されます。Initial ValueTextBoxには、Test DataTextBoxにデフォルト値を表示するときに使用します。たとえば、Test Dataに「テストデータ入力・・・」をデフォルト表示するときは、Initial Valueにも同じデータを入力します。Test DataInitial Valueが一致するときは、Test Dataが入力されていなと見なしてエラーとします。

 

このサンプルでは、以下のノウハウを習得することができます。

 

  RequiredFieldValidatorコントロールの使い方

  RequiredFieldValidator InitialValueプロパティの値をランタイム時に設定する方法

  RequiredFieldValidator Validate()メソッドの使い方

  PageクラスのIsValidプロパティの使い方

 

サンプルの行31では、InitialValueTextBoxを定義しています。ここで入力した値は、Page_Load()イベントでRequiredFiledValidatorInitialValueプロパティに設定されます。

 

39では、Test DataTextBoxを定義しています。行48-52では、RequiredFieldValidatorを定義してテストデータが入力されたか調べています。行49では、EnableClientScriptプロパティにFalseを設定してWebサーバ側でエラーチェックするようにしています。行50では、ControlToValidateプロパティにTest DataTextBoxIDを設定しています。ControlToValidateには、エラーチェックの対象となるコントロールのIDを設定します。行51では、DisplayプロパティにDynamicを設定してエラーメッセージを表示する領域をランタイム時に確保するようにしています。Staticを設定するとエラーメッセージの領域がデザイン時に確保されます。行52では、Textプロパティにエラーメッセージを設定しています。エラーが発生したときは、ここで設定したエラーメッセージが表示されます。

 

31: <asp:TextBox id="txtInitialValue" runat="server" />

    :::

39: <asp:TextBox id="txtTestData" runat="server" />

    :::

48: <asp:RequiredFieldValidator id="valRequiredField" runat="server"
 49:   EnableClientScript="False"
 50:   ControlToValidate="txtTestData"
 51:   Display="Dynamic"
 52:   Text="<hr>NG -
テストデータを入力してください!" />

 

44-46では、テストボタンを定義しています。行45では、OnClickイベントを登録しています。ボタンをクリックしたときは、Page_Load()イベント、OnClick()イベントの順に制御が渡ります。

 

44: <asp:Button id="btnSubmit" runat="server"
 45:   OnClick="btnSubmit_Click"
 46:   Text="
テスト" />

 

テストボタンをクリックするとページがポストバックされて、最初にPage_Load()イベントに制御が渡ります。Page_Load()イベントでは、Initial ValueTextBoxTextプロパティから値を取得してRequiredFieldValidatorInitialValueプロパティに設定しています。StringクラスのTrim()メソッドは、空白を除去します。

 

  4: Sub Page_Load()
  6:   If IsPostBack Then
  7:     valRequiredField.InitialValue = txtInitialValue.Text.Trim()
  8:   End If
  9: End Sub

 

テストボタンのOnClick()イベントでは、RequiredFieldValidatorValidate()メソッドでエラーチェックしています。PageクラスのIsValidプロパティでエラーの有無を調べて、エラーが無いときは、LabelTextプロパティに「OK」を設定して表示します。

 

11: Sub btnSubmit_Click(s As Object, e As EventArgs)
 12:   valRequiredField.Validate()
 13:   If IsValid Then
 14:     lblMessage.Text = "<hr>OK"
 15:   End If
 16: End Sub

ASP.NET 検証コントールのホームへ戻る