我可以相信“必需”输入元素是否提交了值?

时间:2014-08-29 00:20:52

标签: php html required

我可以信任表单中字段的必需属性吗?

<input type="text" name="username" required/>

上面的代码将确保它是必填字段,但用户不能只检查元素并删除属性?我是否有必要检查if (isset($_POST...或者我是否可以依赖必需的属性来做它?

4 个答案:

答案 0 :(得分:5)

始终使用服务器端验证。前端存在必需属性,如果恶意用户希望修改DOM,则可以轻松操作。

答案 1 :(得分:1)

必需的属性在html5中添加,适用于大多数浏览器,问题一如既往,即不起作用,因此其他旧浏览器不会信任该属性。

答案 2 :(得分:1)

验证应始终在服务器端完成。像interception proxy这样的东西甚至可以绕过Javascript验证。所以你甚至不能使用Javascript进行验证。您可以使用这些字段来通知用户这些字段是必需的,但这取决于它们是不好的做法。

答案 3 :(得分:0)

服务器端验证是您最好的选择。目前桌面和iOS上的Safari以及Android浏览器不支持任何输入类型的“required”属性作为提交验证的方式(虽然奇怪地支持伪类css选择器)。

参考:http://www.wufoo.com/html5/attributes/09-required.html