我正在寻找验证框架,虽然我已经在使用NHibernate,我正在考虑使用来自contrib项目的NHibernate.validator但是我也看看MS Validation Block看起来很健壮,但我还没有详细介绍每个还有一个我不知道有没有人进入这两个框架,体验如何?
答案 0 :(得分:10)
NHibernate Validator不要求您使用NHibernate进行持久化。用法可以简单:
var engine = new ValidatorEngine();
InvalidValue[] errors = engine.Validate(someModelObjectWithAttributes);
foreach(var error in errors)
{
Console.WriteLine(error.Message);
}
当然它可以挂钩到NHibernate并防止无效对象的持久性,但你也可以使用它来验证非持久对象。
答案 1 :(得分:0)
在大多数情况下,我会说Spring.NET非常独立。意思是它不应该强迫你重新设计。您可以根据需要使用尽可能多的。编写一个可以注入需要使用spring验证的类的对象应该很容易。然后,您可以将此对象连接到城堡中,以获取所需的“验证组”或“验证器”的名称,然后将验证器注入该对象,然后您的表单/业务对象/服务将使用验证器。 / p>
以下是文档的链接,验证是第12部分:
http://www.springframework.net/docs/1.2.0-M1/reference/html/index.html
你刚刚使用Castle还是使用Monorail?
答案 2 :(得分:0)
当然,您可以尝试编写自己的验证框架。例如。 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
这是非常好的解决方案:)
答案 3 :(得分:-1)
D怎么样)以上都不是。 我记得去年对此进行了评估,并决定采用Spring.NET的验证框架。
如果您使用NHibernate,您可能也想使用Spring.NET的工具来使用NHibernate。