【问题标题】:Why should I use novalidate rather than deleting validation tags? [closed]为什么我应该使用 novalidate 而不是删除验证标签? [关闭]
【发布时间】:2016-04-22 09:27:47
【问题描述】:

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

Example:

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

在这里,我使用novalidate 禁用step=5 中的构建。
但是当我不想那样做的时候,我为什么要同时写呢?

这不是更好的方法吗?:

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

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

【问题讨论】:

  • 它禁用浏览器内置的 html5 验证。
  • 你能给我任何来源吗?
  • 您确定您阅读了我的问题并且理解了吗?尤其是我发布的示例正是这样做的。
  • @BerndErnst,请参考我的回答,以便您清楚地理解并分享 AngularJS 文档教您在问题中使用 novalidate
  • @Oriol 我不想验证。那么为什么我使用像 step=5 这样的验证标签(例如)只是为了用 novalidate 禁用它?为什么不把验证标签和 novalidate 标签也去掉呢?

标签: javascript angularjs html validation


【解决方案1】:

如果你不添加这个属性。将有两个验证一个来自浏览器另一个来自角度

请参阅下面的 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>

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

注意:Internet Explorer 9 及更早版本或 Safari 不支持 form 标签的 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

【讨论】:

  • 那么为什么我应该使用 novalidate 如果我可以省略:required="true"?
  • 分享 AngularJS 文档教你在问题中使用 novalidate
  • 视频清楚地显示“关闭默认 html 验证”。仔细观察。参考 AngularJS Doc 而不是参考视频。顺便说一句,此属性将禁用浏览器的默认功能,然后由任何框架控制验证。如果您不添加此属性。将有两个验证一个来自浏览器然后来自 Angular
猜你喜欢
  • 2011-10-27
  • 2016-05-23
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
  • 2016-12-23
  • 2012-10-16
  • 2023-02-06
  • 2018-05-10
相关资源
最近更新 更多