如果不使用 Ajax,客户端验证真的有必要吗?

Posted

技术标签:

【中文标题】如果不使用 Ajax,客户端验证真的有必要吗?【英文标题】:Is Client Side Validation Really Necessary if not Using Ajax? 【发布时间】:2018-07-21 11:24:21 【问题描述】:

我读到here 说使用客户端验证的主要原因是:

用户可以在提交表单之前更正每个字段

这(有点)假设Ajax,但如果客户端验证纯粹由javascript 组成,那么它真的还有意义吗?从 php / Django / node.js 刷新时指出特定错误并存储表单数据很容易,所以如果客户端脚本在用户制作错误时没有指出错误,那么从UI 和开发人员的角度来花时间编写那段代码?

【问题讨论】:

在客户端出现错误时指出它们对用户非常有帮助,无论 Ajax 是什么。如果你觉得时间投入不值得,那也没关系。请记住,对于 html5 输入类型(email)和验证(requiredpatterntitle 属性),许多检查不再需要 JavaScript。 【参考方案1】:

客户端验证可帮助您防止错误进入您的服务器/数据库并增加第二层保护。

就 Ajax 而言,您将以一种或另一种方式将数据从客户端发送到服务器,因此是否使用 Ajax 无关紧要。

从开发人员的角度来看,即使是在表单提交时检查所有字段的有效数据类型这样简单的事情也是值得的。这使您的服务器不必处理无效条目并将负载转移到用户系统。对于大型应用程序,这会显着提高性能。

从 UI 的角度来看,我知道在表单中加入错误检查会有点困难,但在我看来,这是一个小小的不便,从长远来看,这会为您节省更多清理数据库的麻烦。

编辑:正如 Ryan 在他对该问题的评论中指出的那样,用户肯定会欣赏反馈而无需等待

【讨论】:

性能几乎不是一个严肃的考虑因素。问题实际上更多是关于用户体验 谢谢,我想我没有按照预期的方式阅读链接的答案。这将事情放在上下文中! @Vector ,如果您对这个答案感到满意,那么您能否将其标记为答案并关闭线程? 是的,我在等着看有没有人会回答,但现在我会的

以上是关于如果不使用 Ajax,客户端验证真的有必要吗?的主要内容,如果未能解决你的问题,请参考以下文章

关闭文件描述符并删除 inotify watch 真的有必要吗?

token设置过期有啥好处?

如果我使用基于令牌的身份验证,我应该如何加载图像

Yii 客户端验证不适用于 ajax 加载的表单

Angular 和 JWT - 客户端如何验证令牌?

常见的鉴权方式,你真的不想知道吗