Boolean
,如果存在,它指定提交时不应验证表单数据(输入)。
您为什么要使用它?
答案 0 :(得分:0)
有关formnovalidate的声明是否正确?
一个布尔值(如果存在),它指定提交时不应验证表单数据(输入)。
是的,陈述是正确的。基本上就是the documantation says。值得一提的是,该HTML5属性可以应用于<button>
或<input type="submit">
,并且它覆盖了表单的默认行为,该行为在提交之前验证所有输入。表单的默认行为也可以使用另一个HTML5属性-<form>
元素的novalidate
覆盖。
如果将其应用于您的表单,它将允许您的JavaScript管理所有验证。
不要将属性formnovalidate
应用于<form>
元素。属性novalidate
用于此目的-参见上文。如果将novalidate
应用于<form>
或formnovalidate
应用于<button>
导致表单提交,则它实际上将禁用浏览器对表单输入字段的验证。无论是否启用浏览器验证,您仍然可以使用某种客户端(JavaScript)验证。禁用验证允许用户将表单提交到服务器,您也可以在服务器上通过后端验证表单数据。
如果将其应用于您的提交输入,则可用于允许用户保留表单填写的功能,然后再继续他们离开的地方,而不必强行解决所有验证错误。
是的,但是请注意,您仍然必须自己使用本地或服务器端存储来存储和恢复输入值。
在这里查看novalidate
和formnovalidate
的组合在现实生活中如何工作:
form + form {
margin-top: 2em;
}
fieldset {
display: inline-block;
}
<form onsubmit="window.alert('submitted'); return false;">
<fieldset>
<legend>This form validates input on submit</legend>
<input type="text" name="some-text" placeholder="enter some non-blank text" required>
<input type="submit" value="Save" />
<input type="submit" value="Save without validation" formnovalidate />
</fieldset>
</form>
<form novalidate onsubmit="window.alert('submitted'); return false;">
<fieldset>
<legend>This form never validates input on submit</legend>
<input type="text" name="some-text" placeholder="enter some non-blank text" required>
<input type="submit" value="Save" />
<input type="submit" value="Save without validation" formnovalidate />
</fieldset>
</form>