方法 : ASP.NET サーバー コントロールに必要なエントリを検証する
更新 : 2007 年 11 月
RequiredFieldValidator コントロールをページに追加し、それを必要なコントロールにリンクさせることにより、ASP.NET Web ページ上の特定のコントロールにおいて、ユーザーがなんらかの情報を必ず入力するように指定できます。たとえば、名前テキスト ボックスに情報を入力しない限り、ユーザーが登録フォームを送信できないようにすることもできます。
検証をクライアント上で実行する場合、ユーザーは必須フィールドを空白にしたまま (または既定値が入ったまま) ページ内で作業できますが、ページを送信する前に既定値以外の値を入力する必要があります。ただし、値がいったんフィールドに入力されたら、ユーザーはフィールドをクリアできません (または既定値に戻すことはできません)。フィールドをクリアした場合、そのフィールドから離れるとすぐにエラー メッセージが表示されます。サーバー側の検証では、ページが送信されるまで検査は行われません。したがって、ページを送信するまではエラー メッセージは表示されません。
メモ : |
---|
必須エントリの検証は、多くの場合、他の種類の検証と組み合わせて使用されます。1 つのユーザー入力フィールドに対して、必要に応じて検証コントロールを何個でも使用できます。 |
必須入力を検証するには
RequiredFieldValidator コントロールをページに追加し、次のプロパティを設定します。
プロパティ
説明
ユーザーが必ず値を入力する必要があるコントロールの ID。
ユーザーがコントロールをスキップした場合に表示される 1 つ以上のエラーのテキストと位置を指定するプロパティ。詳細については、「方法 : ASP.NET サーバー コントロールに対する検証エラー メッセージの表示を制御する」を参照してください。
ASP.NET Web ページ コードにテストを追加して、有効性を確認します。詳細については、「方法 : ASP.NET サーバー コントロールの有効性をプログラムでテストする」を参照してください。
必須フィールドの検証を使用した TextBox サーバー コントロールの .aspx ファイルを次の例に示します。
セキュリティに関するメモ : この例には、ユーザー入力を受け付けるテキスト ボックスがあるため、セキュリティ上の脅威になる可能性があります。既定では、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>