javascript-HTML5中约束验证的只读元素候选
作者:互联网
A submittable element is a candidate for constraint validation except when a condition has barred the element from constraint validation. (For example, an element is barred from constraint validation if it is an
object
element.)
验证步骤包括:
For each element
field
incontrols
, in tree order, run the following substeps:
- If
field
is not a candidate for constraint validation, then move on to the next element.- Otherwise, if
field
satisfies its constraints, then move on to the next element.- Otherwise, add
field
toinvalid controls
.
我想知道为什么此代码无法按预期工作:
'use strict';
alert(document.getElementById('foo').willValidate); // expected: true; true
alert(document.getElementById('bar').willValidate); // expected: true; false
alert(document.getElementById('baz').willValidate); // expected: false; false
alert(document.getElementById('foo').checkValidity()); // expected: false; false
alert(document.getElementById('bar').checkValidity()); // expected: false; true
<input type=text required id=foo>
<input type=text required id=bar readonly>
<input type=text required id=baz disabled>
这是用户代理实施中的错误还是预期的?
解决方法:
在这里看看:http://www.w3c-test.org/html/semantics/forms/constraints/form-validation-willValidate.html
输入类型=“文本”的条件之一是:
Must be barred from the constraint validation if it is readonly
仅供参考:假设只读元素已经包含一个值,并且通常不需要必需的属性.
标签:html5,validation,html-form,javascript 来源: https://codeday.me/bug/20191028/1951365.html