使用javascript vs php进行表单验证

时间:2009-11-13 01:40:30

标签: php javascript forms validation

为什么我仍然需要使用JavaScript进行表单验证,因为用户可以关闭JavaScript支持。

不是没必要吗?

更新

好的,谢谢你的回答。将它放在客户端也是个好主意。我在哪里可以下载好的JavaScript验证?

您是否知道在注册帐户时我可以在雅虎下载哪个验证脚本?

8 个答案:

答案 0 :(得分:45)

Javascript验证允许用户在将表单提交到服务器之前通知任何错误。这样可以节省令人烦恼的页面重新加载(因为在提交JS时会捕获事件并验证表单,如果发现错误则阻止表单提交)并最大限度地减少他们不得不再次重新输入信息的机会(并且一次又一次...... ),或在正确填写表格之前离开。 JS验证不能代替服务器端验证(因为用户可以看到JS,并且通过保存页面并修改JS做他们想做的事情);但这对他们来说很方便。

这只是渐进增强概念的一部分,JS提供了一种机制,可以增强用户的体验,如果它在那里并打开,并希望与您的网站进行愉快的交互,或者至少是最低限度的刺激性。

<小时/> 已编辑以回应OP关于“在何处下载JS验证工具”的问题。

虽然我不能 - 不必要地 - 推荐任何一个库(我倾向于根据需要编写自己的库,或者从以前自编的示例中借用),但Google search提出了这些选项:

答案 1 :(得分:7)

您应该始终在PHP上验证SERVER SIDE,并且JavaScript中的验证是用户方便的CLIENT SIDE验证。由于客户端验证可能会在没有页面重新定位的情况下在其表单中发现错误。但是用户可以在没有数据脚本验证的情 (例如,他可能在Web浏览器中没有JS支持),因此总是在服务器端验证。

答案 2 :(得分:3)

......对用户的礼貌很多。使普通用户的生活更加轻松,这些用户不时只是简单地提交人类的东西。

答案 3 :(得分:3)

我建议您使用框架使用统一的服务器端和客户端验证,因为它可以避免使用户面对在客户端有效但被服务器拒绝的数据,或相反(客户端限制太多)。 以下框架列表提供有关服务器/客户端验证的信息: http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

答案 4 :(得分:1)

这是一个问题,您是否希望您的表单(和整个网站)是互动和用户友好的。您可以让服务器端执行验证并将错误返回给用户,但这样会比提交表单之前警告用户的交互性更低且用户友好性更低(尽管您仍需要验证服务器上的输入) - 无论如何)。只需我2美分:P

答案 5 :(得分:1)

是的,最佳做法是从客户端和服务器端双方验证用户输入值

有些情况下客户端被禁用javascript或移动浏览器没有javascript,请记住还有垃圾邮件发送者。

答案 6 :(得分:0)

我建议客户端使用 Javascript ,服务器端使用 Php 如果用户提交错误的数据,这将使交互或用户友好的网站多次减少重新加载页面

答案 7 :(得分:0)

在我看来,由于安全性,只有表单输入的客户端检查不起作用。想象一下,你想检查一个用户密码(如果“yourpwd”== userinput),用户将看到密码,因为它在浏览器源代码中。使用php,它是不可见的,因为php出于某种原因隐藏。