ValidityState

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

ValidityState 接口表示一个元素可以拥有的有效性状态,这些状态与约束验证有关。它们共同解释了为什么一个元素的值在不有效的情况下未能通过验证。

实例属性

对于这些布尔属性中的每一个,值 true 表示特定的验证失败原因成立,但 valid 属性除外,当元素的值符合所有约束时,该属性的值为 true

badInput 只读

一个布尔值,当用户输入的值浏览器无法转换时为 true

customError 只读

一个布尔值,指示是否通过调用元素的 setCustomValidity() 方法将元素的自定义有效性消息设置为非空字符串。

patternMismatch 只读

当值与指定的 pattern 不匹配时为 true,如果匹配则为 false。如果为 true,则元素匹配 :invalid CSS 伪类。

rangeOverflow 只读

当值大于 max 属性指定的最小值时为 true,否则为 false。如果为 true,则元素匹配 :invalid:out-of-range CSS 伪类。

rangeUnderflow 只读

当值小于 min 属性指定的最小值时为 true,否则为 false。如果为 true,则元素匹配 :invalid:out-of-range CSS 伪类。

stepMismatch 只读

当值不符合 step 属性决定的规则(即,它不能被步长值整除)时为 true,如果符合步长规则则为 false。如果为 true,则元素匹配 :invalid CSS 伪类。

tooLong 只读

对于 HTMLInputElementHTMLTextAreaElement 对象,当值超过指定的 maxlength 时为 true,否则为 false(其长度小于或等于最大长度)。注意:在 Gecko 中,此属性永远不会为 true,因为元素的长度会被限制在 maxlength 以内。 如果为 true,则元素匹配 :invalid:out-of-range CSS 伪类。

tooShort 只读

对于 HTMLInputElementHTMLTextAreaElement 对象,当值未能满足指定的 minlength 时为 true,否则为 false(其长度大于或等于最小长度)。如果为 true,则元素匹配 :invalid:out-of-range CSS 伪类。

typeMismatch 只读

当值不符合必需的语法时为 true(当 typeemailurl 时),如果语法正确则为 false。如果为 true,则元素匹配 :invalid CSS 伪类。

valid 只读

当元素符合所有验证约束,因此被视为有效时为 true,否则为 false(如果它不符合任何约束)。如果为 true,则元素匹配 :valid CSS 伪类;否则匹配 :invalid CSS 伪类。

valueMissing 只读

当元素具有 required 属性但没有值时为 true,否则为 false。如果为 true,则元素匹配 :invalid CSS 伪类。

规范

规范
HTML
# validitystate

浏览器兼容性

另见