我正在编写一个带有表单的网站,并使用HTML5验证。目前一切都没有问题,使用Google Chrome浏览器时一切正常。但我想确保即使是IE 6用户,也没有启用表单验证,也不会将格式不正确的数据插入到我的MYSQL数据库中。
有没有办法在Google Chrome或其他最先进的浏览器中关闭HTML5表单验证以测试服务器端数据验证?
我正在编写一个带有表单的网站,并使用HTML5验证。目前一切都没有问题,使用Google Chrome浏览器时一切正常。但我想确保即使是IE 6用户,也没有启用表单验证,也不会将格式不正确的数据插入到我的MYSQL数据库中。
有没有办法在Google Chrome或其他最先进的浏览器中关闭HTML5表单验证以测试服务器端数据验证?
要在HTML5中禁用验证,请使用
<form method="post" action="/foo" novalidate>...</form>
请参考这个问题了解更多细节。我认为Junit也可以帮助测试服务器端验证。
如果SQL查询是使用用户输入形成的,请使用参数化查询以获得更高的安全性。
编辑:
您可以在About:flags中进行设置。
步骤:
1. 在Google Chrome地址栏中,键入“about:flags”(不带引号)并按Enter键。
2. 滚动列表直到看到选项“禁用HTML5交互式表单验证”。
3. 点击启用链接。
检查:http://wikibin.org/articles/google-chrome-about-and-chrome-urls.html
编辑2:
刚收到消息,About:flags已被弃用,请改用chrome://flags。谢谢@Max提供的信息。
chrome://flags
的东西适用于 Firefox(以在浏览器中禁用 HTML5 验证)? - Bogdannovalidate="novalidate"
,如下所示:。
<Form novalidate="novalidate" onSubmit={this.handleSaveFormSubmit}>
仅使用novalidate
不再起作用,Chrome将显示“请填写此字段”
很不幸,接受的答案已经过时了,因为它是在表单验证出现故障时引入的(请参见删除请求)。
幸运的是,有一个chrome扩展程序可以为我们处理每个页面: 自动删除HTML5表单验证 。
我不是这个插件的作者,也不能保证它不会做任何它不应该做的事情。然而源代码非常简短(大约5行)。
如果您正在构建任何SQL字符串,绝对应在服务器上进行验证。
在客户端,您可以回退到基于JavaScript的验证,但这并不会提供保护。同样,在服务器端进行验证。