Dus*_*ler 3 validation dojo html5
我现在已经遇到过这几次了,而且它变得很烦人.在Dojo中,有一个必需的属性来触发表单验证.HTML 5现在也使用相同的属性.问题出在因为HTML5并不关心required =的值是什么="任何"意味着它是必需的.
所以在我的表单元素上,如果我需要="false"来指示dojo我不希望这个验证.在Chrome和Firefox的某些情况下,HTML 5验证正在该输入字段上运行.
我已经尝试了HTML 5 novalidate属性,但似乎必要属性在那里它忽略它.
我想我应该问一个问题.如何完全禁用HTML5验证?或者换一种方式如果我没有指定HTML 5 doc类型,为什么HTML 5验证会运行.
谢谢
以下是该问题的完整示例.在Firefox或Chrome中打开它
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/dojo/1.4.0/dojo/dojo.xd.js"></script>
<script language="javascript" type="text/javascript">
dojo.require("dojo.parser");
dojo.require("dijit.form.Form");
dojo.addOnLoad(function () {
dojo.parser.parse();
});
</script>
<form novalidate="novalidate" dojoType="dijit.form.Form">
<select required="false" formnovalidate="formnovalidate">
<option value="" >Please Choose A Category...</option>
<option value="one" >One</option>
</select>
<button type="submit">Save</button>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
回答你的第二个问题......
如果我没有指定HTML 5 doc类型,为什么HTML 5验证会运行?
"HTML5 DOCTYPE"不是识别"HTML5文档"的方法.它只是最短的DOCTYPE,可确保在浏览器中触发标准模式(这就是为什么在HTML5规范中选择它).
此外,没有"HTML5文档"这样的东西.该文档是用HTML编写的.您可以说您的HTML文档包含HTML5规范中首次定义的一些功能(我们可以称之为"HTML5功能").
浏览器不对具有"HTML5 doctype"的HTML文档应用不同的规则.