代码之家  ›  专栏  ›  技术社区  ›  punkouter

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

  •  3
  • punkouter  · 技术社区  · 15 年前

    首先是ASP.NET验证程序,我们使用它们…然后团队中的一些人用JavaScript手工操作……然后一堆jquery验证库出现了…然后MVC2用属性作为验证器。

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

    我能对处理这个可以创建最小/最优雅代码的工作的最佳工具/组合有什么看法吗?纯服务器端解决方案?Ajax/jQuery?jquery的某个插件?

    例如,我有两个日期。我想确定第一个日期比第二个日期短…是否有jquery验证器封装了这个?我的感觉是如果我能让jquery插件为我的代码处理一半的更基本的验证,这会把我的代码减少一半。

    3 回复  |  直到 15 年前
        1
  •  1
  •   eglasius    15 年前

    DynamicData 用于ASP.NET MVC和动态数据。

    在WebForms上,我只使用了ASP.NET验证器方法。这并不意味着在您可能拥有的自定义验证上进行复制粘贴,也就是说,您可以根据需要添加自己的自定义验证程序,并且仅在非常特殊的情况下才使用与页面上的方法+脚本挂钩的额外验证程序。

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

    更新1: A 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 . 同样是初步的,但肯定可以作为基础来获得一个更完整的基于注释的自动验证。 注意:根据您使用的内容,您可以将验证程序自动添加到适当的位置,但我必须警告,如果您以前没有使用动态添加的验证程序,可能很难使其正常工作。

        2
  •  1
  •   Dave Swersky    15 年前

    如果您使用的是ASP.NET MVC,我建议您全面使用dataAnnotations属性。对于必需的字段和长度,包含了“简单”字段,您可以编写自己的自定义验证器来比较两个字段和其他字段。菲尔·哈克是个大人物 article 关于ASP.NET MVC中的自定义验证器。

        3
  •  1
  •   Khodor    15 年前

    我通常使用jquery rsv插件 http://plugins.jquery.com/project/RSV 为了对普通的东西进行验证,我编写了自己的jquery函数来进行更复杂的验证(需要Ajax调用和其他东西)。 我总是在服务器端重新验证。