Visual Basic .NET または Visual Basic 2005 からの ASP.NET 検証コントロールの使用方法

文書翻訳 文書翻訳
文書番号: 316662 - 対象製品
この記事は、以前は次の ID で公開されていました: JP316662
すべて展開する | すべて折りたたむ

目次

概要

.NET Framework には、さまざまな検証コントロールが用意されています。これらのコントロールを ASP.NET Web フォーム ページに配置すると、"コントロール" フィールドに入力された情報を検証し、各コントロールに関連付けられたエラー メッセージを表示することができます。この資料では、ASP.NET の検証コントロールを使用して、クライアント側およびサーバー側でのユーザー入力の検証を短時間で簡単に実装する方法について説明します。

必要条件

必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および Service Pack は次のとおりです。
  • Visual Studio .NET または Visual Studio 2005
  • Microsoft Internet Information Server (IIS) 5.0 以降
この資料は、次のトピックについて詳しい知識のあるユーザーを対象としています。
  • Web アプリケーション
  • ASP.NET

Visual Studio .NET からの ASP.NET 検証コントロールの使用

ユーザー入力を検証する作業は、多くの場合面倒なものです。.NET Framework には、ユーザー入力を検証する検証コントロールが用意されています。不適切なデータが検証コントロールに入力されると、そのコントロールに対応するエラー メッセージが表示されます。クライアントとサーバーの両方で同じ検証を行う必要がある場合、これは大幅な時間の節約になります。さらに、ページで発生したすべてのエラー メッセージを画面の 1 か所にまとめて表示する、ValidationSummary コントロールも用意されています。

以下の手順では、ユーザー名、電子メール アドレス、およびパスワードの入力を求める ASP.NET Web アプリケーションを作成します。ユーザーが必要な情報を送信すると、入力されたデータはフォーム上の検証コントロールによって検証されます。不適切なデータがある場合は、エラー メッセージの一覧が画面下部に表示されます。
  1. Visual Studio .NET または Visual Studio 2005 を起動します。
  2. Visual Basic .NET または Visual Basic 2005 で新しい ASP.NET Web アプリケーション プロジェクトを作成します。
  3. WebForm1.aspx ウィンドウを HTML ビューに切り替えます。
  4. ユーザーからの入力を受け取るために、入力コントロールおよび関連するメッセージ (プロンプト) をフォームに追加します。WebForm1 HTML ウィンドウで、form 要素の開始タグと終了タグの間に次のコードをコピーして貼り付けます。

    : コードを HTML ウィンドウに貼り付けるときは、コードを HTML として貼り付けることが重要です。このためには、ショートカット メニューの [HTML として貼り付け] をクリックします。
    <table>
    <tr width=100>
    <td>UserName:</td>
    <td><input id=txtUserName type=text size=20 maxlength=15 runat=server/>*
    </td>
    </tr>
    
    <tr width=100>
    <td>E-mail Address:
    <td><input id=txtEmail type=text size=35 maxlength=30 runat=server/>  (someone@microsoft.com)
    </td>
    </tr>
    
    <tr width=100>
    <td>Password:</td>
    <td><input id=txtPassword type=password size=15 maxlength=10 runat=server/>*
    </td>
    </tr>
    
    <tr width=100>
    <td>Retype Password:</td>
    <td><input id=txtConfirmPassword type=password size=15 maxlength=10 runat=server/>*
    </td>
    </tr>
    </table>
    					
  5. RequiredFieldValidator コントロールでは、指定のフィールドに値が入力されているかどうかを検証することができます。この RequiredFieldValidator コントロールをフォームに追加して、UserName および Password フィールドを検証します。

    WebForm1 HTML ウィンドウで、 </table> タグの後に次のコードをコピーして貼り付けます。
    <asp:RequiredFieldValidator id=valUserNameRequired 
    ControlToValidate=txtUserName ErrorMessage="UserName is a required field." EnableClientScript=true Display=None Runat=server/>
    		<asp:RequiredFieldValidator id=valPasswordRequired 
    ControlToValidate=txtPassword ErrorMessage="Password is a required field." EnableClientScript=true Display=None Runat=server/>
    		<asp:RequiredFieldValidator id=valConfirmPasswordRequired 
    ControlToValidate=txtConfirmPassword ErrorMessage="Password confirmation is a required field."
    EnableClientScript=true Display=None Runat=server/>
    					
  6. Password フィールドを検証する一般的な方法は、ユーザーに同じパスワードを 2 回入力してもらうことです。CompareValidator コントロールでは、2 つの入力フィールドの内容を比較し、一致しない場合にエラー メッセージを生成することができます。この CompareValidator コントロールを使用して Password フィールドを検証します。

    WebForm1 HTML ウィンドウで、手順 5. で追加した検証コントロールの下に次のコードをコピーして貼り付けます。
    <asp:CompareValidator id=valComparePassword 
    ControlToValidate=txtConfirmPassword ErrorMessage="Password fields must match." ControlToCompare=txtPassword Display=None
    EnableClientScript=true Runat=server/>
    					
  7. フィールドによっては、電子メール アドレス フィールドなど、検証方法の詳細なカスタマイズが必要になる場合があります。RegularExpressionValidator では、入力された値が someone@microsoft.com という基本的な形式に従っているかどうかを検証できます。フィールドの内容は正規表現によって検証され、表現に一致しない値を入力するとエラー メッセージが表示されます。この RegularExpressionValidator コントロールを追加して、ユーザーが入力した電子メール アドレスの形式を検証します。

    WebForm1 HTML ウィンドウで、前の手順で追加した検証コントロールの下に次のコードをコピーして貼り付けます。
    <asp:RegularExpressionValidator ID=valEmailAddress
    ControlToValidate=txtEmail	ValidationExpression=".*@.*\..*" ErrorMessage="Email address is invalid." 
    Display=None EnableClientScript=true Runat=server/>
    					
  8. [Submit] ボタンを追加して、ページをサーバーに送信し、フォーム上のコントロールの内容を検証できるようにします。

    WebForm1 HTML ウィンドウで、前の手順で追加した検証コントロールの下に次のコードをコピーして貼り付けます。
    <br>
    <input type=submit id=cmdSumbit value=submit runat=server/>
    					
  9. 最後に、ValidationSummary コントロールを使用して、検出されたすべてのエラーをフォームの 1 か所にまとめて表示します。

    WebForm1 HTML ウィンドウで、[Submit] ボタンのコードの下に次のコードをコピーして貼り付けます。
    <br><br>
    <asp:ValidationSummary id=ValSummary HeaderText="The following 
    errors were found:" ShowSummary=True DisplayMode=List Runat=server/>
    					
  10. [保存] をクリックします。
  11. [デバッグ] メニューの [開始] をクリックし、アプリケーションをビルドして実行します。

    画面に Form1 が表示されます。

確認事項

  • ユーザーが値を 1 つも入力せずに [Submit] をクリックすると、必須フィールドに関するエラー メッセージが 3 つ表示されます。
  • ユーザーの送信した 2 つのパスワードの値が一致しない場合は、"Password fields must match" エラー メッセージが表示されます。
  • ユーザーの送信した電子メール アドレスの形式が正しくない場合は、"E-mail address is invalid" というエラー メッセージが表示されます。

関連情報

検証コントロールの詳細および関連するリソースについては、以下の MSDN Web サイトを参照してください。
検証コントロール
http://msdn.microsoft.com/library/ja/mwdesign/html/mworiValidationControls.asp

検証サーバー コントロール
http://msdn.microsoft.com/library/ja/cpgenref/html/cpconaspnetsyntaxforvalidationcontrols.asp

ValidationSummary コントロールの追加と構成
http://msdn.microsoft.com/library/ja/mwdesign/html/mwtskAddingConfiguringSummaryValidatorControl.asp

プロパティ

文書番号: 316662 - 最終更新日: 2007年4月23日 - リビジョン: 4.2
この資料は以下の製品について記述したものです。
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Standard Edition
キーワード:?
kbvs2005applies kbvs2005swept kbhowtomaster kbinfo kbvalidation KB316662
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com