11

我正在尝试决定为新的 ASP.NET MVC 项目采用哪种验证方法。(哇,有很多选择!)

该项目使用 NHibernate,所以我首先考虑的是 NHibernate Validator(因为与 NHibernate 紧密集成)。然而,据我所知,这种紧密集成只有几个好处:

1) NHibernate 生成的数据库模式将包括验证的详细信息(例如,列长度将设置为验证中允许的最大值)。(不过,这并不是我真正感兴趣的,因为我手动生成模式。)

2) 如果您尝试保存不符合验证规范的数据,NHibernate 将抛出异常。(这对我来说似乎相当多余,因为数据可能已经通过您在保存之前选择的任何机制进行了验证)

如果 NHibernate Validator 有更多好处,请告诉我!

我读过的其他库包括:

  • MS 数据注释
  • 城堡验证器
  • 还有什么?

我也一直在考虑使用 xVal 从同一组规则中提供客户端验证。但是,我听说 ASP.NET MVC v2 将包含类似于 xVal(与 jquery 集成)的东西?这个新包含的功能是否会使其他一些功能变得多余?

所以,我基本上是在征求人们对这里应该采取什么方向的建议。我不想实施一个特定的计划,只是在另一个成为主导技术时不得不把它撕掉。

什么对你有用?您认为哪个选项具有/将具有优势?

谢谢!

4

4 回答 4

10

我一直在使用FluentValidationjQuery 验证插件,但仍然找不到他们无法处理的情况。

于 2009-10-15T19:44:39.663 回答
5

我喜欢xVal

您可以使用它非常轻松地实现客户端和服务器验证。此外,还支持对您要使用的实体进行列(属性)验证。

于 2009-10-12T11:03:34.117 回答
1

由伙伴类JQuery 客户端验证实现的DataAnnotations

确保您使用的是MVC Preview 2

于 2009-10-15T19:42:18.107 回答
1

您可能对这种委托方法感兴趣。我是因为我不喜欢 xVal 的想法(我目前正在使用的解决方案),而且它似乎不适合跨越相同甚至不同类结构的多个属性的复杂验证案例。

于 2009-10-17T16:04:43.357 回答