html - 如果我没有 HTML 5 文档类型,为什么会触发 HTML 5 验证?

标签 html dojo validation

我已经遇到过几次这种情况,而且越来越烦人。在 Dojo 中有一个 required 属性来触发表单验证。 HTML 5 现在也使用相同的属性。问题出现是因为 HTML5 不关心 required= 的值是什么 required="anything"意味着它是必需的。

所以在我的表单元素上,如果我有 required="false"来向 dojo 表明我不希望这个被验证。在某些情况下,Chrome 和 Firefox HTML 5 验证会在该输入字段上运行。

我已经尝试了 HTML 5 novalidate 属性,但似乎如果需要的属性存在,它就会忽略它。

我想我应该问一个问题。如何完全禁用 HTML5 验证?或者换句话说,如果我没有指定 HTML 5 文档类型,为什么要运行 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>

最佳答案

回答你的第二个问题......

Why is HTML 5 validation running if I'm not specifying an HTML 5 doc type?

“HTML5 DOCTYPE”不是识别“HTML5 文档”的方法。它只是最短的 DOCTYPE,可确保在浏览器中触发标准模式(这就是在 HTML5 规范中选择它的原因)。

另外,没有“HTML5 文档”这样的东西。该文档要么是用 HTML 编写的,要么不是。您可以说您的 HTML 文档包含一些在 HTML5 规范中首次定义的特性(我们可以称它们为“HTML5 特性”)。

浏览器不会对具有“HTML5 文档类型”的 HTML 文档应用不同的规则。

关于html - 如果我没有 HTML 5 文档类型,为什么会触发 HTML 5 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6348093/

相关文章:

html - 图标在 Chrome 和 Firefox 中居中,但在 Safari 中不居中

php - 在 PHP 中解码没有分号的 HTML 实体

javascript - 当找不到加载 require 的模块时,dojo 如何找出抛出异常的确切代码行?

c - 如何验证二维数组中的值?

html - JsonML 中如何表示未闭合的标签?

javascript - 如何使用纯javascript在当前网页中附加带有CSS、JS的HTML内容?

javascript - 使用 DOH 测试自定义模块

javascript - 如何为CheckedMultiSelect的每个元素添加不同的标题?

c# - 操作方法 : Validate a FileStream is a valid PDF document with . NET

forms - zend 表单依赖下拉列表