方法 : ASP.NET サーバー コントロールに必要なエントリを検証する

更新 : 2007 年 11 月

RequiredFieldValidator コントロールをページに追加し、それを必要なコントロールにリンクさせることにより、ASP.NET Web ページ上の特定のコントロールにおいて、ユーザーがなんらかの情報を必ず入力するように指定できます。たとえば、名前テキスト ボックスに情報を入力しない限り、ユーザーが登録フォームを送信できないようにすることもできます。

検証をクライアント上で実行する場合、ユーザーは必須フィールドを空白にしたまま (または既定値が入ったまま) ページ内で作業できますが、ページを送信する前に既定値以外の値を入力する必要があります。ただし、値がいったんフィールドに入力されたら、ユーザーはフィールドをクリアできません (または既定値に戻すことはできません)。フィールドをクリアした場合、そのフィールドから離れるとすぐにエラー メッセージが表示されます。サーバー側の検証では、ページが送信されるまで検査は行われません。したがって、ページを送信するまではエラー メッセージは表示されません。

e78xxk8k.alert_note(ja-jp,VS.90).gifメモ :

必須エントリの検証は、多くの場合、他の種類の検証と組み合わせて使用されます。1 つのユーザー入力フィールドに対して、必要に応じて検証コントロールを何個でも使用できます。

必須入力を検証するには

  1. RequiredFieldValidator コントロールをページに追加し、次のプロパティを設定します。

    プロパティ

    説明

    ControlToValidate

    ユーザーが必ず値を入力する必要があるコントロールの ID。

    ErrorMessage, Text, Display

    ユーザーがコントロールをスキップした場合に表示される 1 つ以上のエラーのテキストと位置を指定するプロパティ。詳細については、「方法 : ASP.NET サーバー コントロールに対する検証エラー メッセージの表示を制御する」を参照してください。

  2. ASP.NET Web ページ コードにテストを追加して、有効性を確認します。詳細については、「方法 : ASP.NET サーバー コントロールの有効性をプログラムでテストする」を参照してください。

    必須フィールドの検証を使用した TextBox サーバー コントロールの .aspx ファイルを次の例に示します。

    e78xxk8k.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

    この例には、ユーザー入力を受け付けるテキスト ボックスがあるため、セキュリティ上の脅威になる可能性があります。既定では、ASP.NET Web ページは、ユーザー入力にスクリプトまたは HTML 要素が含まれていないことを検証します。詳細については、「スクリプトによる攻略の概要」を参照してください。

    <asp:Textbox id="txtLastName" runat="server"></asp:Textbox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"
      ControlToValidate="txtLastName"
      ErrorMessage="Last name is a required field."
      ForeColor="Red">
    </asp:RequiredFieldValidator>
    
    <asp:Textbox id="txtLastName" runat="server"></asp:Textbox>
    <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"
      ControlToValidate="txtLastName"
      ErrorMessage="Last name is a required field."
      ForeColor="Red">
    </asp:RequiredFieldValidator>
    

参照

概念

ASP.NET サーバー コントロールの検証の種類

その他の技術情報

検証 ASP.NET コントロール