我正在尝试决定在一个新的ASP.NET MVC项目中采用哪种验证方法。(哇,有很多选项!)
该项目使用NHibernate,因此我首先考虑了NHibernate Validator(由于与NHibernate紧密集成)。然而,据我所见,这种紧密集成只有几个好处:
1)由NHibernate生成的DB模式将包括验证细节(例如列长度将设置为允许验证的最大值)。(但这对我来说并不是很有趣,因为我手动生成模式。)
2)如果您尝试保存不符合验证规格的数据,NHibernate将抛出异常。(在我的看来,这似乎相当冗余,因为在保存之前,假定数据已经通过您选择的任何机制进行验证。)
如果有更多关于NHibernate Validator的好处,请告诉我!
我已经阅读了一些其他库的内容,例如:
- MS DataAnnotations
- Castle Validator
- 还有其他的?
我还考虑使用xVal从同一组规则提供客户端验证。然而,我听说ASP.NET MVC v2将包括类似于xVal的东西(与jquery集成)。这个新的包含功能会使其他一些功能变得冗余吗?
因此,我基本上是在询问人们在这里采取哪个方向的建议。我不想实现一个特定的方案,只是希望在另一个方案成为主导技术时将其撤出。
对你有用的是什么?您认为哪个选项具有/将具有优势?
谢谢!