2011-01-14 9 views
0

こんにちは ただの質問です。 .NETでSystem.ComponentModel.DataAnnotationsを使用して検証を行っています。 プロパティでは、そのプロパティを検証する属性を追加します。 そして、私はビジネスドメインモデルでそれを行います 私の質問は: 私はあなたが無効なデータでプロパティを設定すると、例外をスローするというデータアノテーションからのバリデーションを使用するときの動作を知っています。 これを変更してすべてのプロパティを設定し、データを検証するために何かを呼び出すことができます。検証によってすべてのエラーが表示されますか?.NETのDataAnnotations質問

答えて

1

DataAnnotationsはAOP(Aspect Oriented Programming)システムではありません。あなたのコードにチェックインを挿入します。 DataAnnotationsを使用すると、モデルに注釈を付け、プロパティを無効な値に設定しても何も起こりません。それはではなく、例外をスローします。 validateメソッドを自分で呼び出す必要があります。つまり、DataAnotationsを使用するデフォルトモデルでは、エンティティの複数のプロパティを(無効な)値で設定し、すべてを一度に検証できるということです。

0

MicrosoftエンタープライズライブラリのPolicy Injection Application Blockを検証ハンドラとともに使用して、これを実行できます。注目すると、ハンドラはValidation Application Blockを呼び出します。respectsすべてのDataAnnotations属性。また、包括的な検証機能(複合検証および検証ルールセットを含む)を提供します。

関連する問題