【问题标题】:input validation on client side客户端输入验证
【发布时间】:2011-04-20 14:15:55
【问题描述】:

在客户端使用 Javascript 等客户端脚本进行验证有哪些优势?

谢谢

【问题讨论】:

  • 请记住始终检查服务器端的参数:您可能期望 6-20 个字符的用户名并将其输入 sql 查询,但您实际得到的是 10 兆字节的随机数据和您的sql server 可能无法以优雅的方式处理。

标签: client-server


【解决方案1】:

这样做的好处是用户不需要为了发现输入错误而重新加载页面。也就是说,您仍然需要进行服务器端验证,因为用户可以关闭或操作 JavaScript 以便向服务器提交无意义的数据。

【讨论】:

  • 我自己说得再好不过了。
  • 根据浏览器的不同,JavaCcript 可能对用户不可用,因此最好允许表单在没有 JavaScript 的情况下工作。出于安全原因,用户还可以从不受信任的站点禁用 JavaScript。
  • @BillThor - 这在我的第二句话中有所提及。
  • @GertG - 无意冒犯。有些人关闭 JavaScript 以启用黑客攻击。但是屏幕阅读器和文本模式浏览器通常没有 JavaScipt。其他用户出于安全目的禁用 JavaScript。表单只能通过启用 JavaScript 填写的网站有很高的风险,即一些客户会放弃表单。
  • @BillThor - 没有冒犯。我主要在关闭 JS 的情况下上网。至于屏幕阅读器,他们阅读浏览器为他们提供的内容。有了 WAI-ARIA,他们比以往任何时候都更快乐。在客户端和服务器上都进行验证可以为每个人提供验证。 ;)
【解决方案2】:

更好的用户体验。他们可以更快地获得验证结果,无需服务器往返。它还允许您验证很难/您不想通过页面周期发回的字段,例如密码和信用卡号。

现在设置起来相当容易 - 有很多 JavaScript 框架可供您直接使用,在输入字段上设置样式来描述验证并连接提交处理程序以触发验证。例如jQuery validate.

但是,您必须始终应对无 JavaScript 的情况,并且您也必须始终进行服务器端验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    相关资源
    最近更新 更多