【初心者用】ASP.NETのサーバーコントロールの種類をまとめてみた~検証コントロール編1~

ASP.NET Webフォームで使われるサーバーコントロールについてまとめてみたので、メモがてら記事にします。

それぞれのサーバーコントロールについて、固有のプロパティ等を具体例を交えてざっくり説明していきます。

(ID等の共通するプロパティは別記事で説明しているため、今回は取り上げません)


今回は、ユーザーが入力した値を確認・検証する検証コントロールについて説明していきます。

検証サーバーコントロールの種類は、以下になります。

・CompareValidator コントロール

・CustomValidator コントロール

・RangeValidator コントロール

・RegularExpressionValidator コントロール

・RequiredFieldValidator コントロール

・ValidationSummary コントロール


そのうち、今回は

・CompareValidator コントロール

・RangeValidator コントロール

・RegularExpressionValidator コントロール


について説明していきます。

※ValidationSummary コントロールは、一応検証コントロールに入れていますが、このコントロール自体は実際に検証を行ってはおらず、検証結果のメッセージをまとめて表示するものです。


サンプルコードの開発環境は、

・Microsoft Visual Studio Community 2022

実行ブラウザは

・GoogleChrome

です。

1. 共通プロパティ

・ControlToValidate
検証対象のコントロール名
(ここで指定したIDのコントロールを検証します)

・Display
検証コントロールの表示方法。
表示しない(None)、静的に表示する(Static)、動的に表示する(Dinamic)の3つのうちいずれかから選ぶ。
初期値はStatic。

・Enabled
検証コントロールの有効/無効の切り替え。
無効(False)の場合、動作しなくなり、検証対象の状態を問わず表示されなくなる。

・ErrorMessage
検証エラー時にValidationSummary コントロールに表示させるメッセージ。

・SetFocusOnError
検証結果が失敗だった際に、フォーカスを検証対象のコントロールに移すかどうかの設定。

・ValidationGroup
検証コントロールの所属するグループ名。

2. 配置方法

VisualStudio のデザイナーで配置したいときは、下の図のようなツールボックスの「検証」カテゴリから配置します。


3. CompareValidator

CompareValidator コントロールは、入力内容を比較するコントロールです。

Webサイトで、メールアドレスやパスワードを登録する際に、通常の入力するものとは別に「確認用」を入力する際、入力内容に差異がある場合に出るエラーメッセージが身近な例だと思います。


主なプロパティ

・ControlToCompare
検証対象コントロールと比較するコントロール。


使用例

試しに、以下のように配置してみます。

画面のプログラムソースとデザインは以下になります。

  1. <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm5.aspx.vb" Inherits="WebApplication1.WebForm5" %>
  2.     
  3.     
  4.         
  5.             メールアドレス     :
  6.             
  7.         

4. RangeValidator

RangeValidator コントロールは、入力した値が一定の範囲内かを検証するコントロールです。

主に数値入力などで使われます。


主なプロパティ

・MinimumValue
検証範囲下限値

・MaximumValue
検証範囲最大値

・Type
検証対象の入力値のデータ型


使用例

試しに、以下のように実装してみます。

画面のプログラムソースとデザインは以下になります。

  1. <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm5.aspx.vb" Inherits="WebApplication1.WebForm5" %>
  2.     
  3.     
  4.         
  5.             年齢:
  6.             
  7.         

5. RegularExpressionValidator

RegularExpresionValidator コントロールは、入力した値を正規表現で検証するコントロールです。

主に電話番号入力やメールアドレス入力等、特定の書式の文字列のチェックに使われます。


主なプロパティ

・ValidationExpression
検証に使う正規表現。


・^[A-Za-z0-9]+$
英数字のみ

※正規表現は、ネット等で調べて自分で記述することもできますが、デザイン画面でValidationExpressionプロパティの右端の「...」ボタンから正規表現エディタを開き、選択することも可能です。


使用例

試しに、メールアドレス(〇〇@△△.□□という書式)をチェックする画面を作成します。

  1. <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm5.aspx.vb" Inherits="WebApplication1.WebForm5" %>
  2.     
  3.     
  4.         
  5.             メールアドレス:
  6.