HTML5验证与PHP验证

时间:2011-12-07 19:11:42

标签: php html5 validation

何时进行表单验证,这是最好的方法?使用HTML5,您可以验证电子邮件地址和电话号码,但通常我会用PHP执行此操作,那么哪种方法更好?或者我应该在HTML5和PHP中验证输入吗?

6 个答案:

答案 0 :(得分:10)

两个

经验法则
验证客户端,为用户提供更好的体验。
验证服务器端以确保您收到的数据100%符合您的预期。

答案 1 :(得分:3)

始终使用服务器端编程语言进行验证,此外,您还可以使用客户端验证。这样做的原因是所有内容都可以在客户端进行修改,从而绕过任何客户端验证。它甚至都不难,并且有许多工具可供人们修改html和/或Javascript以提交他们想要的任何内容。

黄金法则是,永远不要相信用户。期待最坏的情况并为此做好准备。您可以使用诸如firebug或其他Web开发人员工具之类的工具来尝试。

答案 2 :(得分:1)

你应该两个都做。在客户端进行HTML5和/或JavaScript验证以保存用户页面加载和PHP验证,因为您永远不能完全信任客户端。

答案 3 :(得分:0)

我更喜欢两者。如果某些内容不匹配,填写要通知的表单时会很好。但是,您不能依赖JS验证,因为它很容易被绕过,因此需要服务器端。

答案 4 :(得分:0)

答案都是正确的。不是偏好(如某些人所说)而是一项要求。所有HTML(包括HTML5)都可以通过浏览器直接在您的页面上进行编辑。就像使用Firebug编辑此页面的标题一样,您可以编辑HTML输入验证器,如果它们没有服务器端验证,它将接受您放入的任何内容。仅使用HTML5处理验证就像邀请黑客破坏所有数据库表一样。你想要吗?

我在这个愚蠢的家伙网站上发现了最后一条评论作为一个明显的例子:http://demosthenes.info/blog/462/Goodbye-JQuery-Validation-HTML5-Form-Errors-With-CSS3

答案 5 :(得分:0)

大多数专业程序员都有使用服务器端脚本语言验证输入字段的方法。使用PHP的服务器端表单验证比HTML5和客户端表单验证有多种方式:

  1. HTML5包含一些自动验证输入字段的属性,例如:电子邮件,电话等。这些属性是有限的。而在现实世界中,有许多形式的某些领域无法通过HTML5直接验证。

  2. 如果您正在考虑使用javscript作为第二个选项的客户端版本,请记住,可以在浏览器中关闭javascript。因此它最终会影响用户体验。因此,最好通过PHP等服务器端脚本语言对表单进行验证。

  3. 您应该对包含敏感数据的网站采用上述方法。但是