asp.net MVC验证框架的选项

时间:2009-03-24 03:26:36

标签: asp.net-mvc validation xval

我正在考虑为我正在开始的ASP.net项目进行模型库验证的两个选项:

xVal(Steve Sanderson的项目)和Stephen Walther在this page上使用的企业模块

我真的不太了解偏好,因为我还没有使用它们中的任何一个。有什么想法吗?

更新立即使用LinqToSql for ORM,但我愿意接受更改。

7 个答案:

答案 0 :(得分:5)

我在回顾这两个问题时看到的一个区别是,Stephen Walther的博客文章描述了一个只在Web服务器中进行验证的库,其中xVal也与jQuery验证器一起进行浏览器内验证。顺便提一下,这个功能几乎是完全自动的。

答案 1 :(得分:1)

FluentValidation很好。 NHibernate还内置了模型验证。然后,您需要Scott Guthrie's technique之类的内容来将错误绑定到UI。

答案 2 :(得分:1)

我一直在使用xVal,并且已将它集成到引入MVC RC1的IDataErrorInfo接口中。我喜欢它。

这是我写的一篇文章,解释了一些事情。

http://schotime.net/blog/index.php/2009/03/05/validation-with-aspnet-mvc-xval-idataerrorinfo/

希望这有帮助。

答案 3 :(得分:1)

无耻地宣传我的validation library。专为jQuery验证而设计企业库和开箱即用的工作。也就是说,功能和代码非常简单,可以根据需要进行修改/扩展。

答案 4 :(得分:1)

你也可以在LosTechies上查看这项新技术http://www.lostechies.com/blogs/hex/archive/2009/06/10/opinionated-input-builders-for-asp-net-mvc-part-5-the-required-input.aspx我喜欢这样一个事实,即你输入的是全球设置,实际上是DRY。您也可以跳过客户端验证并向服务器执行jquery ajax提交表单,该服务器在一个地方执行验证模型和业务逻辑,这也是DRY :)这也意味着您可以更快地将产品推向门外并且您可以稍后添加客户端验证作为奖励或逐步增强表单。

答案 5 :(得分:1)

xVal的另一次投票。这真的很甜蜜。我喜欢使用Buddy ClassesDataAnnotations进行验证提升。在使用Linq2Sql工作之外,因为无法向字段添加属性,所以伙伴类为多个模型共享相同的验证信息提供了一点灵活性。对于那些似乎总是必要的ModelEditData类来说非常方便。

答案 6 :(得分:0)

您使用的是ORM吗?如果是这样,你使用哪一个?我使用Castle ActiveRecord时很幸运,只是坚持使用默认的模型级验证。但是,如果你不使用它,这可能不太有帮助。 : - )