2011-12-07 187 views
2

什么时候进行表单验证,这是继续进行的最佳方法?使用HTML5,您可以验证电子邮件地址和电话号码,但通常我会用PHP来做到这一点,那么哪种方法更好?或者我应该验证HTML5和PHP中的输入?HTML5验证与PHP验证

+5

你应该总是验证服务器端,其余主要是针对可用性(你永远不能依赖于客户端验证) – Matthew

+0

验证与标记语言? –

+1

@webarto:“_Validate with markup language?_”:是的,这是可能的,它是“未来”。有关详细信息和示例,请参阅[本文](http://www.the-art-of-web.com/html/html5-form-validation/)。 – Tadeck

回答

10

两者。

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

+0

+1好点和短点。 – Tadeck

1

你应该这样做。客户端的HTML5和/或JavaScript验证以保存用户的页面加载以及PHP验证,因为您永远无法完全信任客户端。

0

我更喜欢这两个。填写表格以便通知不匹配的内容很不错。但是你不能依赖JS验证,因为它很容易绕过,所以需要服务器端。

3

总是使用服务器端编程语言进行验证,另外您可以使用客户端验证。这样做的原因是一切都可以修改客户端,从而绕过任何客户端验证。这并不困难,有很多工具可供人们修改HTML和/或Javascript来提交他们想要的任何内容。

黄金法则是,永远不要相信用户。预计最糟糕的,并为此做好准备。你可以应该使用工具,如萤火虫或其他网页开发工具来尝试。

0

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

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

0

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

  1. HTML5包含自动验证例如输入字段几个属性:电子邮件,电话等。这些属性是有限的。而在现实世界中,有很多形式都有一些不能通过HTML5直接验证的字段。

  2. 如果您在考虑使用javscript作为第二个选项的客户端价值,那么请记住,JavaScript可以在浏览器中关闭。所以它最终会影响用户体验。所以最好通过像PHP这样的服务器端脚本lanugae来判断你的表单。

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