2つのアプリ間で共有されるオブジェクトモデルのデータアノテーション
-
29-09-2019 - |
質問
オブジェクトモデルを含むクラスライブラリがあります。 2つのアプリで検証を共有できるように、検証ルールを自分のモデルに配置するデータアノテーションを各オブジェクトにしたいと思います。 1つはMVC 2アプリで、もう1つはWindowsフォームアプリです。
データアノテーションを使用してコードから手動でオブジェクトモデルを検証できる必要がありますが、xvalを使用しません。オブジェクトモデルライブラリを4.0クライアントプロファイルに切り替えると、XValコンポーネントで構築できなくなります。 Domain ObjectクラスライブラリはWindowsアプリで配布されるため、4.0クライアントプロファイルを利用したいと思いました。
何か案は?
解決
まあ、私はそれが他の誰かに役立つかもしれない場合に備えて、もう少し物質で答えを提供します。
検証には、次のような単純な検証方法を使用します。
public void Validate(T entity)
{
var context = new ValidationContext(entity, null, null);
var results = new List<ValidationResult>();
bool valid = Validator.TryValidateObject(entity, context, results, true);
if (!valid)
; // do something fancy with the results here, perhaps
}
スキップすることもできます TryValidateObject
そして、すぐに行きます ValidateObject
結果に派手なことをしたくない場合。
所属していません StackOverflow