解説

ASP.NETで学ぶVisual Studio .NETの魅力

第2回 Visual Studio.NETでプログラム・レス開発を学ぶ(前編)

山田 祥寛
2003/05/13


(2)検証コントロールを配置する
 検証コントロールは、エラー・メッセージを表示させたい個所に配置する。通常はフォーム・コントロールと隣接した位置に表示するのが一般的であろう(後述するが、冒頭やページ末尾などにまとめてエラー・メッセージを表示させたいという場合には、個々の検証コントロールを末尾に配置するのではなく、ValidationSummaryコントロールを使用するのが一般的である)。

 配置するコントロールと最初に設定しておくべきプロパティの組み合わせは、以下の通り。

コントロール プロパティ
RequiredFieldValidator (ID) ReqNam
ControlToValidate txtNam
Display Dynamic
EnableClientScript False
ErrorMessage 名前は必須入力です
RangeValidator (ID) RngOld
ControlToValidate txtOld
Display Dynamic
EnableClientScript False
ErrorMessage 年齢は10〜100歳の間で入力してください
MaximumValue 100
MinimumValue 10
Type Integer
CompareValidator (ID) CmpVal
ControlToCompare txtMail2
ControlToValidate txtMail1
Display Dynamic
EnableClientScript False
ErrorMessage ふたつのE-Mailアドレスは等しくなければなりません
Type String
RegularExpressionValidator (ID) RegVal
ControlToValidate txtMail2
Display Dynamic
EnableClientScript False
ErrorMessage E-Mailアドレスを正しい形式で入力してください
ValidationExpression \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
validate.aspx上の検証コントロール

 ID、ControlToValidate、Display、EnableClientScript、ErrorMessageなどは、検証の種類によらない、すべての検証コントロールに共通のプロパティである。以下に、それぞれのプロパティの意味を簡単に紹介しておくことにする。

プロパティ 概要
ID 検証コントロールを一意に判別するキー
ControlToValidate 検証の対象となるサーバ・コントロール(ID)
Display エラーの表示方法(Dynamic指定の場合、エラー・メッセージの表示分だけレイアウトを自動的に調整)。
EnableClientScript クライアント・サイド・スクリプトによる検証を行うか(Falseの場合には常にサーバ・サイドでの検証を行う)
ErrorMessage エラー時に表示するエラー・メッセージ
検証コントロールの主な共通プロパティ
 
プロパティ 概要
ControlToCompare 比較対象となるサーバ・コントロール(CompareValidatorで使用)
MaximumValue 値の最大値(RangeValidatorで使用)
MinimumValue 値の最小値(RangeValidatorで使用)
Type 比較に際して使用されるデータ型。String、Integer、Double、Date、Currencyなど(CompareValidator、RangeValidatorで使用)
ValidationExpression 検証に際して使用される正規表現パターン
個々の検証コントロールで使用したプロパティ

 なお、ValidationExpressionプロパティは(もちろん)自分で一から設定することも可能であるが、E-MailアドレスやURL、電話番号、郵便番号など、よく使用されるパターンについてはあらかじめVS.NETに用意されているため、ワン・クリックで選択することができる。

正規表現エディタ
よく使われる正規表現があらかじめ用意されている。

(3)できたページを実行してみる
 実際のアプリケーションでは、検証が成功したあとの処理を記述するべきところであるが、ここでは割愛する(実に検証までであれば、VS.NETは完全なプログラム・レスを可能にしてくれるのだ)。取りあえず、ツール・バーの[>](開始)ボタンをクリックしてみよう。

 表示されたページ上に、わざとエラーとなるような値を入力し、[登録]ボタンをクリックしてみよう。冒頭のようなエラー画面が表示されるはずだ。なお、テキスト・ボックスにデータが入力されていない場合、CompareValidatorやRegularExpressionValidator、RangeValidatorなどのサーバ・コントロールは動作しないので注意すること。入力の有無を確認するには、まずRequiredFieldValidatorコントロールで必須チェックを行う必要がある。

次回予告

 今回は基本的なサーバ・コントロールを使用して、ASP.NETアプリケーションの作り方の概要を解説した。VS.NETによるプログラム・レスなIDE開発の雰囲気を感じ取っていただけたことと思う。

 次回はデータベースと連携して動的なページを作成するASP.NETアプリケーションを作ってみよう。「データベース」というと難しそうだと身構える方もいるかもしれないが、VS.NETとMSDEの組み合わせによって、気軽にデータベースを利用することが可能になる。End of Article


 INDEX
  ASP.NETで学ぶVisual Studio .NETの魅力
  第2回 Visual Studio.NETでプログラム・レス開発を学ぶ(前編)
    1.最初のサンプルはインタラクティブな「Hello, World!!」
    2.サーバ・コントロールの配置とプロパティの設定/コードの追加
    3.サンプル・Webアプリケーションの実行
    4.「検証コントロール」で入力データをチェックする
  5.各種、検証コントロールの使い方
 
インデックス・ページヘ  「解説:ASP.NETで学ぶVisual Studio .NETの魅力」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間