3


0

サーバー側検証を備えたMVC2 DataAnnotations

MVCライブラリを使用せずに、DataAnnotationsを含むエンティティをどのように検証しますか? Model.IsValidの使用は、プレゼンテーション層内であれば問題ありませんが、モデルがドメイン/ビジネス層で有効であることを確認したい場合はどうでしょうか? 別の検証フレームワークが必要ですか、それとも簡単な方法がありませんか?

助けてくれてありがとう、

Mark

2 Answer


1


ModelState.IsValidとModel.IsValidを意味すると思いますか? DataAnnotionsはMVCにまったく依存しないため、常にhttp://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.ivalidatableobject.aspx[IValidatableObject]インターフェイスを使用できます。

または、http://msdn.microsoft.com/enを使用して、http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.validator.aspx [Validator class]の方が適切な場合もあります。 -us / library / dd411788.aspx [Validator.ValidateObject(object、ValidationContext)]。


-1


プレーンC#を使用して検証ロジックを記述し、ビジネスレイヤーにこれらの検証を含め、ビジネスレイヤー全体でtryおよびcatchブロックを使用します。 プレゼンテーション層はこれらのカスタム例外をキャッチし、エラーが画面にユーザーに表示されるようにします。 データ注釈内で基本的な検証のみを保持しました。 [必須]主にajax呼び出しおよびnull不可フィールドにデータを入力するようユーザーに通知するために、私のビジネスロジックは中間層に残り、一貫性を保ち、参照できる場所は1か所にとどまりました。