在2010年在ASP.NET中进行客户端/服务器验证的最佳方法是什么?

时间:2010-06-08 14:16:47

标签: asp.net jquery validation

首先是ASP.NET验证器,我们使用它们......然后团队中的一些人在javascript中手动完成了事情......然后出现了一堆jquery验证库...然后MVC2出现了属性作为验证者......

我使用的应用程序有很多表单,有很多不同的验证(有些字段需要与数据库中的其他值进行比较,因此需要postball / ajax调用)。现在我有一堆ASP。 NET自定义验证器和在服务器端计算的函数。

我能否就可以创造最小/最优雅代码的最佳工具/组合获得一些意见?纯服务器端解决方案? AJAX / jQuery的? jquery的某个插件?

例如,我有2个日期..我想确保第1个日期小于第2个日期...是否有jquery验证器封装了这个?我的感觉是,如果我可以获得jquery插件来处理我的一半更基本的验证,可以将我的代码减少一半。

3 个答案:

答案 0 :(得分:1)

如果您正在使用ASP.NET MVC,我建议全面使用DataAnnotations属性。包含所需字段和长度的“简单”,您可以编写自己的自定义验证器来比较两个字段和其他字段。 Phil Haack是一个很棒的article,关于ASP.NET MVC中的自定义验证器。

答案 1 :(得分:1)

我通常使用jquery RSV插件http://plugins.jquery.com/project/RSV为正常的东西做我的验证工作,并且我编写自己的jquery函数以进行更复杂的验证(需要ajax调用和东西) 我总是在服务器端重新验证。

答案 2 :(得分:1)

DynamicData用于asp.net mvc和动态数据。

在webforms上我只使用了asp.net验证器方法。这并不意味着要复制粘贴您可能拥有的所有自定义验证,即您根据需要添加自己的自定义验证器,并且仅在非常特殊的情况下使用连接到页面上的方法+脚本的额外验证器。

根据您构建代码的方式,我希望能够利用DataAnnotations周围的一些基础架构。我不能给出一个事实,你知道asp.net上的常见问题通常与实现细节有关,如果没有更好的选择,值得一试。

更新1: v。快速搜索给出了http://blogs.microsoft.co.il/blogs/gilf/archive/2010/04/08/building-asp-net-validator-using-data-annotations.aspx,这是一个基本的部分 - 但显示了一种方法,您可以利用Web表单上的数据注释(对于服务器端)。

更新2:另一个采用与上述方法相同的方法,但同时兼顾服务器&客户端验证: http://geeks.ms/blogs/rcarreras/archive/2010/04/20/validando-asp-net-web-form-con-dataannotation-en-ambos-lado-cliente-y-servidor.aspx。再次基本,但肯定可以作为基于注释获得更完整的自动验证的基础。 注意:根据您的使用情况,您可以在适当的位置自动添加验证器,但我必须警告,如果您之前没有使用过动态添加的验证器,那么让它运行良好可能会很棘手