我使用最简单的HTML 5表单,并希望使用复选框的“required”属性,以确保用户在提交表单时单击它。
我是否应该进行一些服务器端验证 - 如果有人使用不支持html5的浏览器?
更多信息:
我的表单如下:
[]我接受条款和条件
提交
代码:
<input type="checkbox" required> I accept the terms and conditions<br />
<input type="submit" value="submit"/>
答案 0 :(得分:4)
客户端表单验证是增强用户体验的好方法,它还提供了一些样式,可以帮助传达需要输入的信息。
但是总是仍然必须验证服务器上提交的任何数据,确保数据干净安全。 required
属性可以由恶意用户操纵。
答案 1 :(得分:2)
实际上所有浏览器都支持CSS伪类(不行,IE8除外),你可以在这里看到
http://caniuse.com/#search=form%20validation
无论如何,您总是需要服务器端验证,因为客户端检查的数据必须被认为是不安全的。
答案 2 :(得分:2)
永远不要相信客户端的任何数据(无论是HTML还是JS,都可以更改。客户端验证只是为了获得更好的用户体验。真正的安全性在服务器端。
答案 3 :(得分:0)
仅仅将逻辑保存在UI后面还不够。某些HTML表单验证在某些浏览器中无效。因此,必须在服务器端进行验证!