かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

Validation Application Block Integration WinForms

Validation Application BlockをWindows Formに統合するのは凄い簡単!!!

  1. Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WinFormsを参照設定する。
  2. ツールボックスにValidationProviderコンポーネントを追加する。
  3. フォームに落とす。
  4. ErrorProviderもフォームに落とす
  5. ValidationProviderのErrorProviderプロパティを設定する
  6. ValidationProviderのSourceTypeプロパティを設定する
    1. SourceTypeプロパティには 型名, アセンブリ名の形で付ける(Hoge.Person, Hogeみたいに)
  7. フォーム上のコントロールにValidationProviderの〜っていうプロパティが追加されるので設定する
    1. PerformValidationをtrue
    2. SourcePropertyNameをSourceTypeに指定したクラスのプロパティ名にする
    3. ValidatedPropertyをコントロールのプロパティ名にする(大体Textになるとおもう)

多分これでOK

任意のタイミングで検証したいときは、FormのValidateChildrenを呼ぶとかすれば良さげ。
Validationエラーがあっても、コントロールからフォーカス移動できるようにするには、FormのAutoValidateプロパティをEnableAllowFocusChangeにすると良さげ。