0


0

切断されたPOCOの検証

ASP.NETアプリケーションには、データ、ビジネス、およびUIレイヤー用の個別のプロジェクトがあります。

私のビジネスレイヤーは、DataAnnotationsを使用して、宣言的な検証を行うプレーンオブジェクトで構成されています。

問題は、それらを保存することになると、検証を処理する方法がわからないことです。なぜなら、それらはデータコンテキストに直接バインドされておらず、個別のデータレイヤーオブジェクトにマップされているからです。

これらの種類のオブジェクトで検証をトリガーする方法はありますか?

1 Answer


0


StackOverflow、https://stackoverflow.com/questions/2050161/validating-dataannotations-with-validator-class [この投稿]で(間接的に)答えを見つけました。 (Atwood&Spolskyに感謝!)

Validatorクラスを呼び出す必要があることがわかりました。

そこで、POCOにValidate()メソッドを追加しました。

public void Validate()
{
    Validator.ValidateObject(this, new ValidationContext(this, null, null));
}

また、ValidationContextクラスなどを含む更新された.NET 4.0バージョンのComponentModel.DataAnnotations DLLの.NET 3.5バージョンを交換する必要がありました。