ASP.NETでエラーチェックを行う際の注意点
ASP.NETでは入力データに対するエラーチェック専用の
コントロールがサポートされている。
エラーチェック用のコントロールを画面に貼り付け、
適切なプロパティを入力してあげればよいのだが、
以下の点に注意して設計/実装する必要がある。
1. エラーチェックがNGだった場合でも、
各イベントハンドラは実行されてしまう。
エラーチェックがNGだった場合に、
イベントハンドラを実行しないようにするためには
イベントハンドラの最初に以下のような1行を入れる。
if (!Page.IsValid) return;
2. エラーチェックはChange系イベントハンドラと
Action系イベントハンドラの間に行われる。
ゆえに、Change系イベントハンドラで
if (!Page.IsValid) return;
を呼ぶとエラーが発生する。
Change系イベントハンドラでエラーチェックの成功/失敗を判断したい場合には
明示的にPage.Validate()を呼ぶ必要がある。