【问题标题】:asp.net form validation. Server-side or client-sideasp.net 表单验证。服务器端或客户端
【发布时间】:2010-03-22 02:46:02
【问题描述】:

这是(我认为)一个有趣的问题。

随着 AJAX 越来越普遍,我越来越喜欢在服务器端进行所有表单验证。

想象一下 AJAX 之前的注册表单。您的所有验证客户端都使用常见的 asp 验证控件和验证摘要...除了...检查用户名可用性、检查电子邮件地址可用性、验证码等等。 所以你最终得到了 2 种验证,因此在 2 个不同的时刻向用户展示了 2 个不同的 UI。我想到了2个字。丑陋。不一致。

所以问题来了。为什么不做所有的验证服务器端(使用或不使用 AJAX)。

(我还没有使用 JQuery,是吗?)

【问题讨论】:

    标签: asp.net asp.net-ajax validation


    【解决方案1】:

    codeka 是正确的。客户端验证可防止因简单错误而往返服务器。

    始终需要服务器端,因为您不能总是假设客户端验证是正确的。

    【讨论】:

      【解决方案2】:

      即使使用 Ajax,如果错误是一个简单的拼写错误,我宁愿避免将帖子发送到服务器。就个人而言,如果您的客户端和服务器端验证导致显示不同的错误消息,那么我认为这是您的问题,而不是两者之间的分歧。

      话虽如此,您没有理由在您输入文本时使用 Ajax 在服务器端进行验证。我已经看到很多表单在您输入请求的名称时通过 Ajax 进行“用户名检查”(例如)。

      【讨论】:

      • 您的意思是,以与验证摘要相同的方式呈现服务器端验证结果。实际上我不喜欢验证摘要的有限布局选项。事实上,我想以与呈现服务器端验证结果相同的方式呈现客户端验证结果,但验证摘要不够灵活
      • 啊,这是一个好点,是的。出于这个原因,我通常放弃内置的 ASP.NET 验证控件,并始终使用 jQuery 构建我自己的。这需要更多的工作,但更灵活。
      猜你喜欢
      • 2023-04-08
      • 2014-08-27
      • 2017-01-26
      • 2011-10-17
      • 2013-01-10
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多