我现在正在考虑两个选项,用于我开始的 ASP.net 项目的基于模型的验证:
xVal(Steve Sanderson 的项目)和 Stephen Walther 在此页面上使用的 Enterprise 模块
我真的不太了解这些偏好,因为我还没有使用过它们中的任何一个。有任何想法吗?
立即更新使用 LinqToSql 进行 ORM,但对更改持开放态度。
我现在正在考虑两个选项,用于我开始的 ASP.net 项目的基于模型的验证:
xVal(Steve Sanderson 的项目)和 Stephen Walther 在此页面上使用的 Enterprise 模块
我真的不太了解这些偏好,因为我还没有使用过它们中的任何一个。有任何想法吗?
立即更新使用 LinqToSql 进行 ORM,但对更改持开放态度。
我在回顾这两者时看到的一个区别是 Stephen Walther 的博客文章描述了一个仅在 Web 服务器中进行验证的库,而 xVal 也与 jQuery 验证器一起进行浏览器内验证。顺便说一句,这个功能几乎是完全自动的。
FluentValidation很好。NHibernate 还内置了模型验证。然后你需要像Scott Guthrie 的技术来将错误绑定到 UI。
我一直在使用 xVal 并将其集成到 MVC RC1 中引入的 IDataErrorInfo 接口中。我喜欢。
这是我写的一篇文章,它解释了一些事情。
http://schotime.net/blog/index.php/2009/03/05/validation-with-aspnet-mvc-xval-idataerrorinfo/
希望这可以帮助。
无耻地推广我的验证库。专为 jQuery 验证和企业库而构建,开箱即用。也就是说,功能和代码足够简单,可以根据需要进行修改/扩展。
您还可以在 LosTechies http://www.lostechies.com/blogs/hex/archive/2009/06/10/opinionated-input-builders-for-asp-net-mvc-part-5-上查看这项新技术the-required-input.aspx我喜欢你的输入是全局设置的,这真的很干。你也可以跳过客户端验证,向服务器提交一个 jquery ajax 提交表单,它在一个地方执行验证模型和业务逻辑,这也是 DRY :) 这也意味着你可以更快地把产品拿出来您可以稍后添加客户端验证作为奖励或逐步增强表单。
再次投票给 xVal。真的很甜 我喜欢使用Buddy Classes并DataAnnotations
进行验证提升。除了使事情与 Linq2Sql 一起工作之外,因为您无法向字段添加属性,伙伴类提供了一些灵活性,可以让多个模型共享相同的验证信息。对于那些似乎总是变得必要的 ModelEditData 类来说真的很方便。
你在使用 ORM 吗?如果是这样,您使用的是哪一个?在使用Castle ActiveRecord时,我很幸运,只需坚持使用默认的模型级验证即可。但是,如果您不使用它,这可能并没有太大帮助。:-)