ValidationSummaryの使い方
● ValidationSummaryをテストするサンプル

図 ValidationSummaryを利用したサンプル
このサンプルは、ValidationSummaryコントロールを使用してエラーメッセージをポップアップウィンドウに表示します。メール情報を何も入力しないで送信ボタンをクリックすると、ポップアップウィンドウにエラーメッセージが表示されます。また、TextBoxの右側には「*」が表示されます。
このサンプルでは、以下のノウハウを習得することができます。
▲ ValidationSummaryコントロールの使い方
▲ ValidationSummaryのDisplayModeプロパティの使い方
▲ ValidationSummaryのShowMessageBoxプロパティの使い方
▲ ValidationSummaryのSho
▲ ButtonのCausesValidationプロパティの使い方
サンプルの行25-28では、ValidationSummaryを定義しています。行26では、ShowMessageBoxプロパティにTrueを設定してエラーメッセージがポップアップウィンドウに表示されるようにしています。行27では、Sho
25: <asp:ValidationSummary
runat="server"
26: ShowMessageBox="True"
27: Sho
28: HeaderText="次のエラーを検出しました:"
/>
行36-37では、メールサーバのTextBoxを定義しています。行38-42では、RequiredFieldValidatorを定義してエラーチェックしています。行39のControlToValidateプロパティには、TextBoxのIDを設定しています。行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には、RequiredFieldValidatorとRegularExpressionValidatorが定義されています。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()イベントを登録しています。このイベントでは、TextBoxのTextプロパティに空白(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>