ValidationSummaryの使い方

 

   ValidationSummaryをテストするサンプル

 

ValidationSummaryを利用したサンプル

 

このサンプルは、ValidationSummaryコントロールを使用してエラーメッセージをポップアップウィンドウに表示します。メール情報を何も入力しないで送信ボタンをクリックすると、ポップアップウィンドウにエラーメッセージが表示されます。また、TextBoxの右側には「*」が表示されます。

 

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

 

  ValidationSummaryコントロールの使い方

  ValidationSummaryDisplayModeプロパティの使い方

  ValidationSummaryShowMessageBoxプロパティの使い方

  ValidationSummaryShowSummaryプロパティの使い方

  ButtonCausesValidationプロパティの使い方

 

サンプルの行25-28では、ValidationSummaryを定義しています。行26では、ShowMessageBoxプロパティにTrueを設定してエラーメッセージがポップアップウィンドウに表示されるようにしています。行27では、ShowSummaryプロパティにFalseを設定してASPXページ上にエラーメッセージのサマリーが表示されないようにしています。行28では、HeaderTextプロパティにポップアップウィンドウに表示する見出しを設定しています。ValidationSummaryには、DisplayModeプロパティがありますが省略するとBulletListが仮定されます。DisplayModeには、BulletList, List, SingleParagraphを設定することができます。

 

25: <asp:ValidationSummary runat="server"
 26:   ShowMessageBox="True"
 27:   ShowSummary="False"
 28:   HeaderText="
次のエラーを検出しました:" />

 

36-37では、メールサーバのTextBoxを定義しています。行38-42では、RequiredFieldValidatorを定義してエラーチェックしています。行39ControlToValidateプロパティには、TextBoxIDを設定しています。行41では、TextプロパティにASPXページに表示されるエラーメッセージを設定しています。行42では、ErrorMessageプロパティにポップアップウィンドウに表示されるエラーメッセージを設定しています。

 

36:     <asp:TextBox id="txtSmtpServer" runat="server"
 37:       Width="304px" />
 38:     <asp:RequiredFieldValidator runat="server"
 39:       ControlToValidate="txtSmtpServer"
 40:       Display="Dynamic" Style="font-size:80%"
 41:       Text="*"
 42:       ErrorMessage="
メールサーバを入力してください." />

 

50-51では、差出人のTextBoxを定義しています。このTextBoxには、RequiredFieldValidatorRegularExpressionValidatorが定義されています。RegularExpressionValidatorでは、メールアドレスの形式をチェックしています。以下、同様に宛先、件名、本文のTextBoxと各種Validationコントロールが定義されています。

 

50:     <asp:TextBox id="txtFrom" runat="server"
 51:       Width="304px" />
 52:     <asp:RequiredFieldValidator runat="server"
 53:       ControlToValidate="txtFrom"
 54:       Display="Dynamic" Style="font-size:80%"
 55:       Text="*"
 56:       ErrorMessage="
差出人を入力してください." />
 57:     <asp:RegularExpressionValidator runat="server"
 58:       ControlToValidate="txtFrom"
 59:       Display="Dynamic" Style="font-size:80%"
 60:       Text="*"
 61:       ErrorMessage="
差出人のメールアドレスが不正です."
 62:       ValidationExpression="\S+@\S+\.\S{2,3}" />

 

120-121では、送信ボタンを定義しています。このボタンには、OnClick()イベントが登録されています。このサンプルでは、送信ボタンをクリックしてもメールを送信しません。行122-124では、消去ボタンを定義しています。行123では、CausesValidationプロパティにFalseを設定しています。Falseを設定すると、消去ボタンをクリックしたときValidationコントロールが無効になります。このプロパティは、中止ボタン、終了ボタンなどを定義するときに設定します。行124では、OnClick()イベントを登録しています。このイベントでは、TextBoxTextプロパティに空白(String.Empty)を設定してTextBoxに表示されている文字を消去します。

 

 

120:     <asp:button id="btnSend" runat="server"
121:       OnClick="btnSend_Click" Text="
送信" />
122:     <asp:button id="btnClear" runat="server"
123:       CausesValidation="False"
124:       OnClick="btnClear_Click" Text="
消去" />

 

このサンプルのValidationコントロールには、EnableClientScriptプロパティを設定していません。このプロパティを省略するとTrueが仮定されます。つまり、ブラウザ側でエラーチェックが実行されます。送信ボタンをクリックするとASPXページに組み込まれているJavaScriptが実行されてエラーチェックを行います。エラーがあるときは、ポップアップウィンドウにエラーメッセージのサマリーが表示されます。ポップアップウィンドウを表示する処理もクライアントのブラウザ側で実行されます。

 

これらの処理は、WebUIValidation.jsファイルに登録されています。このファイルは、.NET FrameworkをインストールするとWebサーバのルートディレクトリ(wwwroot)のサブフォルダ(aspnet_client)に格納されます。WebUIValidation.jsファイルは、<script>タグのsrc=に指定されて組み込まれます。

 

<script language="javascript" src="/aspnet_client/system_web/1_0_3705_288/WebUIValidation.js"></script>

 

 

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