解説ASP.NETで学ぶVisual Studio .NETの魅力第2回 Visual Studio.NETでプログラム・レス開発を学ぶ(前編) 山田 祥寛 |
|
|
(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の組み合わせによって、気軽にデータベースを利用することが可能になる。
INDEX | ||
ASP.NETで学ぶVisual Studio .NETの魅力 | ||
第2回 Visual Studio.NETでプログラム・レス開発を学ぶ(前編) | ||
1.最初のサンプルはインタラクティブな「Hello, World!!」 | ||
2.サーバ・コントロールの配置とプロパティの設定/コードの追加 | ||
3.サンプル・Webアプリケーションの実行 | ||
4.「検証コントロール」で入力データをチェックする | ||
5.各種、検証コントロールの使い方 | ||
「解説:ASP.NETで学ぶVisual Studio .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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|