为什么我应该使用novalidate而不是删除验证标签?

时间:2016-01-17 00:52:11

标签: javascript angularjs html5 validation

很容易找到novalidate属性在HTML5中的作用 在Angular.JS we get teached我们应该使用它,因为Angular.JS应该进行验证 但为什么不删除任何验证标签呢?

Example

<form novalidate>
  <input type=number name=num step=5>
</form>

在此,我使用step=5禁用novalidate订单中的内置版本 但是,当我不想这样做的时候,我为什么要写这两个呢?

不是更好的方法吗?:

<form>
  <input type=number name=num>
</form>

那么为什么要使用novalidation字段?

1 个答案:

答案 0 :(得分:1)

  

如果您不添加此属性。将有两个验证,一个来自浏览器,另一个来自angular

请参阅以下URL实际HTML5验证的内容。 http://www.the-art-of-web.com/html/html5-form-validation/

novalidate:指定该元素表示在表单提交期间不打算由浏览器验证的表单。

还有一个名为**的属性 例如:下面是没有novalidate属性的HTML表单。

<form action="demo_form.php">
E-mail: <input type="email" name="user_email" required="true">
<input type="submit">
</form>

如果您提交以下表单,您将获得以下浏览器内置功能,以验证该字段。

enter image description here

  

注意:Internet Explorer 9及更早版本或Safari中不支持表单标记的novalidate属性。

参考网址:
https://www.w3.org/TR/html-markup/form.html#form.attrs.novalidate
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-formnovalidate
http://www.w3schools.com/tags/att_form_novalidate.asp