Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

.NETコンポーネントを利用して入力エラーチェック機能を持ったWebページを作成する

InputMan for ASP.NET 3.0Jの検証コントロールを使ったWebページの作成

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/06/30 14:00
目次

InputMan for ASP.NET 3.0Jの概要とコントロールの設定 1

 InputMan for ASP.NETは、11個の入力コントロールと、3つのエクステンダ、5つの検証コントロールから構成されています。入力コントロールは、いずれも標準コントロールの機能拡張版で、エクステンダは標準コントロールの機能拡張を行うコントロールです。そして、検証コントロールは入力コントロールの入力値をチェックするコントロールです。

 今回は、入力コントロールからテキストコントロールを、検証コントロールから文字数検証と 禁止文字列コントロールを使用します。これらのコントロールの最大の特徴は、コードを一切書くことなく、プロパティの設定だけで入力値の制限やエラーチェックを行うことができるようになっている点です。

入力コントロール
呼称 説明
テキストコントロール 入力可能な文字種を制限できるテキスト入力コントロール
マスクコントロール 郵便番号などの入力に便利な書式設定機能をもったマスク入力コントロール
日付コントロール 日付と時刻の入力に特化した高機能の日付入力コントロール
数値コントロール さまざまな数値入力を細かく制御できる数値入力コントロール
コンボコントロール 機能性とデザイン性に優れた高性能のマルチカラムコンボコントロール
リストコントロール 機能性とデザイン性に優れた高性能のマルチカラムリストコントロール
カレンダーコントロール スタイルを自由にカスタマイズできるカレンダー入力コントロール
電卓コントロール 四則演算とメモリ機能を備えた電卓入力コントロール
メッセージボックスコントロール Javascriptでサポートされる3種のダイアログをサーバ側で表示するコントロール
ファンクションキーコントロール ファンクションキーの動作を制御するキーフック用コントロール
リッチカレンダーコントロール 高度なデザイン機能によるリッチな外観を備えたカレンダーコントロール
エクステンダ
呼称 説明
バルーンチップエクステンダ 視覚的にユーザーにメッセージを通知できるバルーンチップを表示
ショートカットエクステンダ Webフォーム上のコントロールにショートカット機能を提供
検証アクションエクステンダ Webフォーム上の検証コントロールにさまざまなエラー通知方法を提供
検証コントロール
呼称 説明
文字種検証コントロール 指定した文字種以外の無効な入力がないかを検証するコントロール
文字数検証コントロール 入力された文字が最大文字数、最小文字数の範囲内にあるかどうかを検証するコントロール
日付範囲検証コントロール 入力された日付が指定した範囲内にあるかどうかを検証するコントロール
日付比較検証コントロール 基準となる日付の値もしくは2つの日付データの値を比較し日付の差を検証するコントロール
禁止文字列検証コントロール 指定した入力を禁止する文字列が入力されていないかどうかを検証するコントロール

テキストコントロール(Editコントロール)の設定

 テキスト(Edit)コントロールは、特定の文字種だけしか入力を受けつけないように入力文字に制限を加えることや、入力可能な文字種へ自動変換するオートコンバート機能、ドロップダウンエディットウィンドウによる入力、自動的に振り仮名を作成する機能など、Visual Studio標準のテキストボックスにはない高度な機能を提供します。

 今回は、自動的に振り仮名を作成する機能と、入力書式を全角文字に設定することで半角の文字を自動的に全角に変換して入力するように設定します。

 入力書式の設定は、配置したコントロールのスマートタグのタスクメニューから「書式を設定」を選びます。「テキストコントロールの書式設定」というダイアログボックスが表示されるので、ここで入力させたい書式を選びます。書式の詳細は別表の通りです。

 このプログラムでは、3つのEditコントロールに、次のような書式を設定しています。

コントロール 設定値 内容
Edit1 全角の文字だけを受けつけるようにする
Edit2 全角の文字だけを受けつけるようにする
Edit3 9 0~9の半角数字だけを受けつけるようにする
入力書式を全角文字に設定する
入力書式を全角文字に設定する

 AutoConvertプロパティをTrue(デフォルト)にすると、入力した文字列が設定した書式と違う場合は、自動的に設定した書式に変換されます。例えば、入力書式を大文字のアルファベットに設定した場合、小文字のアルファベットが入力されると自動的に大文字に変換されます。

 また、自動的に振り仮名を作成するには、ReadingImeStringOutputオブジェクトのTargetControlプロパティで振り仮名を出力するコントロールを指定します。ここでは、Labelを出力先にします。そして、ReadingImeStringOutputオブジェクトのOutputModeプロパティで、ふりがなの出力テキストを既にコントロールに表示されているテキストの末尾に追加するか、既存テキストに上書きするかを設定できます。

 ただし、このふりがな作成機能には、次のような制限事項がありますので注意してください。

  • [Enter]キーで確定前の入力文字を[BackSpace]キーで削除しても、ふりがなとして出力されてしまいます(これを防止する処理は別途自分で組み立てる必要があります)。
  • クライアント側のスクリプト処理速度により、入力時のタイプスピードが速いとふりがなが正しく表示されない場合があります。
  • Firefox 3.0は対応していません。Internet Explorer 6.0/7.0/8.0でのみ動作します。
入力書式に設定するキーワード(一部組み合わせて使用可能)
全角 半角 説明
A 大文字のアルファベット(A~Z)
a 小文字のアルファベット(a~z)
K カタカナ(促音・拗音の小書き表記あり)
9 数字(0~9)
# 数字および数字関連記号(0~9、+ - $ % \ , .)
@ 記号
B 2進数(0または1)
X 16進数(0~9、A~F)
- ひらがな(促音・拗音の小書き表記あり)
- 空白文字以外のすべての全角文字
- H 空白文字以外のすべての半角文字
N カタカナ(促音・拗音の小書き表記なし)
- ひらがな(促音・拗音の小書き表記なし)
- ^ 指定した書式に含まれないすべての文字
- サロゲート ペア文字
- 空白文字以外の2バイト文字(サロゲート ペア文字、空白文字を除いた全角文字)
S 空白文字

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2010/02/16 22:04 「サンプルプログラム実行時の注意事項」を一部修正しました。

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

バックナンバー

連載:ComponentZine(InputMan)

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5