我们应该有浏览器端验证吗?

时间:2010-06-01 07:51:56

标签: javascript browser usability

对于将在内部使用的后台应用程序和经过培训使用它的用户,是否有必要进行浏览器端验证。培训后,用户很少会犯错误。这些错误会在服务器端被捕获。另外请记住,带宽可用性是一个较小的问题,我觉得我们应该避免浏览器端验证。这将节省在两个地方维护相同功能的工作量。

8 个答案:

答案 0 :(得分:6)

您始终需要服务器端验证。

就客户端验证而言,它不仅可以节省流量,还可以提高可用性(即时响应,无需往返服务器)。这是可选的。

通过在一个位置定义一些常量并将它们注入JavaScript,可以最大限度地减少保持两个功能同步的工作。例如,对文本框的输入限制这样的事情很有用。

答案 1 :(得分:4)

首先在没有客户端验证的情况下部署您的应用程序。然后观察您的用户,以确定添加客户端验证的努力是否值得获益。

即使是快速网络上的专家用户,客户端验证也可以使应用程序更快,更愉快地使用。

在Java中,您可以使用Spring Modules Validation等库。您可以使用注释在Java代码中指定验证规则,并且库为客户端验证生成JavaScript,为服务器端生成Java。整齐。原始项目已forked,现在又在开发中。

答案 2 :(得分:1)

鉴于您描述的情况,我倾向于同意:客户端验证的好处在您的情况下似乎并不重要。只需确保服务器端验证会产生有用的错误消息,并且表单内容不会丢失。

答案 3 :(得分:1)

客户端验证不仅涉及带宽,还涉及用户体验。即使是专家用户在使用应用程序时仍然会出现问题,因此我认为任何现代网络应用程序都必须使用它。

答案 4 :(得分:0)

我认为,由于您已经进行了服务器端验证,并且目标受众有限,因此这可能是一个不错的解决方案。

如果serversidevalidation为您提供了向用户显示的一些不错的错误消息,那么这似乎是我可以接受的。

答案 5 :(得分:0)

如果您打算在家中使用自己的应用来检查一些与工作相关的问题,那么带宽可能仍然是个问题。另外,如果您可以立即检查它,那么将可能无效的数据发送到服务器的重点是什么?

答案 6 :(得分:0)

认为我们需要回顾为什么我们需要服务器端验证,除了在编写数据时确保数据有效,我们还需要进行适当的编码以确保用户不会插入任何可能的恶意输入导致sql注入,跨站点请求伪造或跨站点脚本等。你永远不知道你的用户什么时候可以尝试做一些有趣的事情。

客户端验证的要点主要是用户体验,用户体验是否重要?如果应用程序将经常使用,那么构建验证可能是值得的。保存用户一些努力是键入错误的数据并等待页面返回。有时作为开发人员,我们并没有花太多精力来使程序可用,我们倾向于从功能角度来看待它。

当然,如果时间是一个约束,服务器端验证是必须的。

答案 7 :(得分:-2)

浏览器端验证通常称为 CLIENT SIDE VALIDATION 。 对于任何应用程序,拥有客户端ID的验证始终是好的。

Following are the example of the validations you can check on client side
1]  Mandatory Fields
2]  Field Formatting (only numbers are allowed, special character are not allowed)

&安培;

Following are the example of the validations you can't (or shouldn't) check on client side
1] Username uniqueness
2] 

注意: - 使用Both Client Side和&amp ;;创建应用程序始终是一个好习惯。服务器端验证。您应该编写用于服务器端验证的代码,尽管您应用客户端验证,因为用户可能可以禁用浏览器的Javascript。