ValidationSummaryコントロール
ValidationSummaryは、Validationコントロールで検出したエラーをまとめて表示するときに使用します。BackLabelプロパティには、エラーが発生したときに戻るボタンに表示する文字を設定します。FormToValidateプロパティには、エラー発生元のフォームを設定します。HeaderTextプロパティには、エラーサマリーの見出しを設定します。
書式:
<mobile:ValidationSummary id=”String” runat=”server”
BackLabel=”String”
FormoValidate=”String”
HeaderHext=”String”>
</mobile:ValidationSummary>
● ValidationSummaryをテストするサンプル


図 ValidationSummaryをテストするサンプル
このサンプルは、ValidationSummaryを使用してエラーをまとめて表示します。IDとパスワードのTextBoxに何も入力しないでテストボタンを選択すると、エラー画面にエラーのサマリーが表示されます。エラー画面から「戻る」のボタンを選択するとエラーを訂正することができます。
行21-31では、IDとパスワードのTextBoxを定義しています。行32-35では、IDのTextBoxにRequiredFieldValidatorを適用しています。行36-39では、パスワードのTextBoxにRequiredFieldValidatorを適用しています。
17: <mobile:Form id="frmTest" runat="server">
21: <mobile:TextBox
id="txtID" runat="server"
22: Numeric="True"
23: MaxLength="4"
24: Size="4" />
28: <mobile:TextBox
id="txtPassword" runat="server"
29: Password="True"
30: MaxLength="6"
31: Size="6" />
32:
<mobile:RequiredFieldValidator runat="server"
33:
ControlToValidate="txtID"
34: Display="None"
35: ErrorMessage="ID未入力!" />
36:
<mobile:RequiredFieldValidator runat="server"
37:
ControlToValidate="txtPassword"
38: Display="None"
39: ErrorMessage="パスワード未入力!" />
43: </mobile:Form>
行45-51では、frmErrorフォームを定義しています。行46-50では、ValidationSummaryを定義しています。行48では、HeaderTextプロパティにValidationSummaryの見出しを設定しています。行49では、FormToValidateプロパティにfrmTestフォームを設定しています。行50では、BackLabelプロパティに「戻る」を設定しています。ValidationSummaryが表示されているfrmErrorフォームから、BackLabelに設定した「戻る」ボタンを選択するとFormToValidateに設定したfrmTestフォームが表示されます。
45: <mobile:Form id="frmError" runat="server">
46: <mobile:ValidationSummary runat="server"
47: StyleReference="Validator"
48: HeaderText="エラーサマリー:"
49: FormToValidate="frmTest"
50: BackLabel="戻る" />
51: </mobile:Form>
行53-61では、frmAcceptフォームを定義しています。このフォームは、「OK!」を表示します。
53: <mobile:Form id="frmAccept" runat="server">
54: <mobile:Label
runat="server"
55: StyleReference="Label"
56: Text="OK !" />
57: <mobile:Link
runat="server"
58: Text="戻る"
59:
StyleReference="subcommand"
60: NavigateUrl="#frmTest" />
61: </mobile:Form>
frmTestフォームからテストボタンを選択すると、フォームがポストバックされてCommandのOnClickイベントに制御が渡ります。行8では、MobilePageクラスのValidate()メソッドですべてのValidationコントロールを診断します。行9-13では、MobilePageクラスのIsValidプロパティを参照して診断結果を調べています。エラーがないときは、ActiveFormプロパティにfrmAcceptフォームを設定して「OK!」を表示します。エラーを検出したときは、ActiveFormプロパティにfrmErrorフォームを設定してValidationSummaryを表示します。
ValidationSummaryから「戻る」ボタンを選択すると、frmTestフォームが表示れますのでエラーを訂正することができます。
7: Sub cmdTest_Click(s As Object, e As
EventArgs)
8: Page.Validate()
9: If Page.IsValid Then
10: ActiveForm = frmAccept
11: Else
12: ActiveForm = frmError
13: End If
14: End Sub