用于表单验证的HTML5“必需”属性:好主意或坏主意

时间:2016-08-01 09:12:41

标签: html5 forms html4

我使用最简单的HTML 5表单,并希望使用复选框的“required”属性,以确保用户在提交表单时单击它。

我是否应该进行一些服务器端验证 - 如果有人使用不支持html5的浏览器?

更多信息:

我的表单如下:

[]我接受条款和条件

提交

代码:

<input type="checkbox" required> I accept the terms and conditions<br />
<input type="submit" value="submit"/>

4 个答案:

答案 0 :(得分:4)

客户端表单验证是增强用户体验的好方法,它还提供了一些样式,可以帮助传达需要输入的信息。

但是总是仍然必须验证服务器上提交的任何数据,确保数据干净安全。 required属性可以由恶意用户操纵。

答案 1 :(得分:2)

实际上所有浏览器都支持CSS伪类(不行,IE8除外),你可以在这里看到

http://caniuse.com/#search=form%20validation

无论如何,您总是需要服务器端验证,因为客户端检查的数据必须被认为是不安全的。

答案 2 :(得分:2)

永远不要相信客户端的任何数据(无论是HTML还是JS,都可以更改。客户端验证只是为了获得更好的用户体验。真正的安全性在服务器端。

答案 3 :(得分:0)

仅仅将逻辑保存在UI后面还不够。某些HTML表单验证在某些浏览器中无效。因此,必须在服务器端进行验证!