此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
ValidityState
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
DOM 接口ValidityState 代表一个元素可有的有效性状态(validity states),其与约束验证(constraint validation)相关。这些状态一起解释了当元素值无效时,它的值为什么不能通过验证。
In this article
属性
对于以下每一个布尔值属性来说,值为true 表示这就是验证失败的特定原因之一;valid 属性是例外,它为true 表示元素值满足所有的约束条件。
badInput只读一个
Boolean,true表示用户提供了浏览器不能转换的输入。- customError只读
一个
Boolean,表示这个元素的自定义验证信息是否已通过调用元素的setCustomValidity()方法设置为一个非空字符串。patternMismatch只读一个
Boolean,true表示元素值不匹配规定的pattern,false则表示匹配。true的时候元素可用 CSS 伪类:invalid匹配。rangeOverflow只读一个
Boolean,true表示值已超过max属性规定的最大值,false则表示小于或等于这个最大值。true的时候元素可用 CSS 伪类:invalid和:out-of-range匹配。rangeUnderflow只读一个
Boolean,true表示值小于min属性规定的最小值,false则表示大于或等于这个最小值。true的时候元素可用 CSS 伪类:invalid和:out-of-range匹配。stepMismatch只读一个
Boolean,true表示值不符合由step属性规定的规则(即该值不能被步长值除尽,译注:假设最小值是 0)。false表示其符合步长值规则。true的时候元素可用 CSS 伪类:invalid和:out-of-range匹配。tooLong只读一个
Boolean,true表示值超过了HTMLInputElement或HTMLTextAreaElement对象中规定的maxlength,false表示值的长度小于或等于最大长度。注意:这个属性在 Gecko 中永远不会是true,因为元素值不允许比maxlength长。true的时候元素可用 CSS 伪类:invalid和:out-of-range匹配。tooShort只读一个
Boolean,true表示值的长度小于HTMLInputElement或HTMLTextAreaElement对象中规定的minlength,false表示值的长度大于或等于最大长度。true的时候元素可用 CSS 伪类:invalid和:out-of-range匹配。typeMismatch只读一个
Boolean,true表示元素值不满足所需的格式(可见于type是email或url时),false表示格式正确。true的时候元素可用 CSS 伪类:invalid匹配。- valid只读
一个
Boolean,true表示元素满足所有的验证约束,因此被认为时有效的,false表示有任一约束不满足。true的时候元素可用 CSS 伪类:valid匹配,否则可用 CSS 伪类:invalid匹配。valueMissing只读一个
Boolean,true表示元素拥有required属性,但没有值,否则为false。true的时候元素可用 CSS 伪类:invalid匹配。
规范
| Specification |
|---|
| HTML> # validitystate> |