Validation 不再使用客户端验证(除了服务器端验证)的好理由?

Validation 不再使用客户端验证(除了服务器端验证)的好理由?,validation,Validation,查看各种主要“Web2.0”站点的五到六个登录部分,其中许多似乎都是在服务器端进行验证的 有谁能解释一下为什么这些都不使用客户端验证(即javascript)?一个主要的例子是当用户单击“登录”时检查空文本框,并弹出一个警报(“请输入密码并重试”)) 我知道它很容易被绕过/禁用,因此出于安全原因,它毫无意义。没有理由不使用这种检查。为用户节省时间和挫折感是一件好事TM 更好的是,不要弹出窗口,而是禁用登录按钮(从JavaScript,而不是HTML本身,使其优雅地降级)。仅当填写了用户名和密码时

查看各种主要“Web2.0”站点的五到六个登录部分,其中许多似乎都是在服务器端进行验证的

有谁能解释一下为什么这些都不使用客户端验证(即javascript)?一个主要的例子是当用户单击“登录”时检查空文本框,并弹出一个
警报(“请输入密码并重试”)


我知道它很容易被绕过/禁用,因此出于安全原因,它毫无意义。

没有理由不使用这种检查。为用户节省时间和挫折感是一件好事TM


更好的是,不要弹出窗口,而是禁用登录按钮(从JavaScript,而不是HTML本身,使其优雅地降级)。仅当填写了用户名和密码时才启用该按钮,并显示一条有用的消息,解释禁用该按钮的原因。这可以像密码框中的灰色文本“输入密码”一样简单。

就我个人而言,我总是尝试同时使用这两种方法,但我可以想到两个不使用客户端验证的原因

  • 客户端上未启用javascript
    方,因此不可能。。。它是 完全有可能 js是否启用,并降级 很好地;但更简单的方法是
    最低公用代码
    客户端分母只是假设 无法进行客户端验证
  • 客户机性能。更快 简单地
    将表格提交至
    验证并提交表单。它
    缺乏cs验证的即时性 如果有任何错误需要报告,
    但如果没有,速度会更快 错误

  • 因为写JS验证代码是一件痛苦的事D刚离开房间

    关于1:想一想(另见我的帖子),根本不需要额外的检测代码。只需考虑JavaScript作为一个可选的附加组件,不要修改现有的表单代码。至于2:提交通常比运行一些简单的检查慢很多。即使在本地网络上,我认为通常情况也是如此。一个简单的“是否填写此字段”检查不会超过一毫秒。:)我没有说我同意他们。。。但是服务器端检查应该始终完成,因此提交/服务器端检查总是比客户端检查/提交/服务器端检查快。。。如果没有错误。如果有错误,那么您可以通过客户端检查来捕获并要求在提交之前修复错误。。。这就是使用两种验证的好处;但是,如果100次中有95次没有错误,懒惰的设计师/开发人员可能会为了几毫秒的性能而决定跳过客户端验证。如果您的登录和注册页面/表单简单且设计良好,您应该能够在不需要任何客户端验证的情况下逃脱。我想当您对页面上的用户体验感到悲观时,客户端验证非常重要:)客户端验证只会在您知道数据将被拒绝时为用户省去提交数据的麻烦。为用户节省时间,并为服务器工作。