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コントロールをテストします。ToValidateのTextBoxにデータを入力しない状態でテストボタンを選択すると、図4-3-1-1の中央画面のようにエラーメッセージが表示されます。TextBoxにデータを入力してからテストボタンを選択すると右画面のように「OK!」のメッセージが表示されます。
InitialValueのTextBoxには、ToValidateのTextBoxにデフォルト値を表示するときに使用します。たとえば、「テストデータ入力・・・」をデフォルトで表示するときは、InitilaValueにも同じデータを入力します。InitialValueとToValidateの値が一致するとときは、ToValidateのデータが未入力と見なしてエラーとします。
サンプルの行25では、ToValidateのTextBoxを定義しています。行26-30では、RequiredFieldValidatorを定義しています。行28では、ControlToValidateプロパティにToValidateのTextBoxのIDを設定しています。これでTextBoxにRequiredFieldValidatorが適用されます。行29では、DisplayプロパティにDynamicを設定してエラーを検出したときのみエラーメッセージを表示するようにしています。行30では、ErrorMessageプロパティにエラーメッセージを設定しています。ここで設定したエラーメッセージは、ValidationSummaryに表示されます。RequiredFieldValidatorのTextプロパティを省略すると、ErrorMessageに設定した値が表示されます。Textには、カレントページに表示されるエラーメッセージを設定します。
行31-33では、「テスト」のCommandを定義しています。行33では、CommandにOnClickイベントを登録しています。ここで定義した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では、InitialValueのTextBoxに入力された値を取得してRequiredFieldValidatorのInitialValueプロパティに設定しています。行10では、RequiredFieldValidatorのValidate()メソッドでToValidateのTextBoxにデータが入力されているか診断しています。
行11-13では、MobilePageクラスのIsValidプロパティを参照してValidate()メソッドの診断結果を調べています。エラーがないときは、ActiveFormプロパティにfrmResultのフォームを設定して「OK!」のメッセージを表示します。エラーを検出したときは、RequiredFieldValidatorのErrorMessageに設定したエラーメッセージがカレントページに表示されます。
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