私は検証フレームワークを探しています。すでにNHibernateを使用していますが、contribプロジェクトのNHibernate.validatorを使用することを考えていますが、堅牢なMS Validation Blockも検討していますが、それぞれの詳細にはまだ触れていません。この 2 つのフレームワークに足を踏み入れた人はいますか? その経験はどのようなものですか?
4 に答える
NHibernate Validator では、永続化のために NHibernate を使用する必要はありません。使い方は次のように簡単です。
var engine = new ValidatorEngine();
InvalidValue[] errors = engine.Validate(someModelObjectWithAttributes);
foreach(var error in errors)
{
Console.WriteLine(error.Message);
}
もちろん、NHibernate にフックして無効なオブジェクトの永続化を防ぐことができますが、永続化されていないオブジェクトの検証にも使用できます。
もちろん、独自の検証フレームワークを作成することもできます。たとえば。Karl Seguin がお手伝いします:
http://codebetter.com/blogs/karlseguin/archive/2009/04/26/validation-part-1-getting-started.aspx
http://codebetter.com/blogs/karlseguin/archive/2009/04/27/validation-part-2-client-side.aspx
http://codebetter.com/blogs/karlseguin/archive/2009/04/28/validation-part-3-server-side.aspx
それは本当に素晴らしい解決策です:)
ほとんどの場合、Spring.NET はかなり独立していると言えます。つまり、再設計を強制するべきではありません。必要なだけ使用できます。spring を使用して、検証が必要なクラスに注入できるオブジェクトを作成するのは非常に簡単です。次に、このオブジェクトをキャッスルに配線して、必要な「検証グループ」または「バリデーター」の名前を取得し、フォーム/ビジネスオブジェクト/サービスがバリデーターを使用するオブジェクトにバリデーターをスプリング注入します。
ドキュメントへのリンクは次のとおりです。検証はセクション12です。
http://www.springframework.net/docs/1.2.0-M1/reference/html/index.html
キャッスルを使用しているだけですか、それともモノレールを使用していますか?
D) 上記のいずれでもない。昨年これを評価したことを覚えており、Spring.NET の検証フレームワークを使用することにしました。
NHibernate を使用している場合は、NHibernate を使用するための Spring.NET の機能も使用したいでしょう。