ASP.NET Mobileのホームへ戻る

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では、IDTextBoxRequiredFieldValidatorを適用しています。行36-39では、パスワードのTextBoxRequiredFieldValidatorを適用しています。

 

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フォームからテストボタンを選択すると、フォームがポストバックされてCommandOnClickイベントに制御が渡ります。行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

 

ASP.NET Mobileのホームへ戻る