Validation Application BlockをWindows Formに統合するのは凄い簡単!!!
- Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WinFormsを参照設定する。
- ツールボックスにValidationProviderコンポーネントを追加する。
- フォームに落とす。
- ErrorProviderもフォームに落とす
- ValidationProviderのErrorProviderプロパティを設定する
- ValidationProviderのSourceTypeプロパティを設定する
- SourceTypeプロパティには 型名, アセンブリ名の形で付ける(Hoge.Person, Hogeみたいに)
- フォーム上のコントロールにValidationProviderの〜っていうプロパティが追加されるので設定する
- PerformValidationをtrue
- SourcePropertyNameをSourceTypeに指定したクラスのプロパティ名にする
- ValidatedPropertyをコントロールのプロパティ名にする(大体Textになるとおもう)
多分これでOK
任意のタイミングで検証したいときは、FormのValidateChildrenを呼ぶとかすれば良さげ。
Validationエラーがあっても、コントロールからフォーカス移動できるようにするには、FormのAutoValidateプロパティをEnableAllowFocusChangeにすると良さげ。