ElementInternals:setValidity() 方法
ElementInternals 接口的 setValidity() 方法用于设置元素的有效性。
语法
setValidity(flags)
setValidity(flags, message)
setValidity(flags, message, anchor)
参数
flags可选-
一个包含一个或多个指示元素有效性状态的标志的字典对象。
valueMissing-
如果元素具有
required属性但没有值,则布尔值为true,否则为false。如果为true,则元素将匹配:invalidCSS 伪类。 typeMismatch-
当
type为email或url时,如果值不符合必需的语法,则布尔值为true,如果语法正确,则为false。如果为true,则元素将匹配:invalidCSS 伪类。 patternMismatch-
如果值不匹配指定的
pattern,则布尔值为true,如果匹配,则为false。如果为true,则元素将匹配:invalidCSS 伪类。 tooLong-
对于
HTMLInputElement或HTMLTextAreaElement对象,如果值超出了指定的maxlength,则布尔值为true,如果其长度小于或等于最大长度,则为false。如果为true,则元素将匹配:invalid和:out-of-rangeCSS 伪类。 tooShort-
对于
HTMLInputElement或HTMLTextAreaElement对象,如果值未能满足指定的minlength,则布尔值为true,如果其长度大于或等于最小长度,则为false。如果为true,则元素将匹配:invalid和:out-of-rangeCSS 伪类。 rangeUnderflow-
如果值小于
min属性指定的最小值,则布尔值为true,如果大于或等于最小值,则为false。如果为true,则元素将匹配:invalid和:out-of-rangeCSS 伪类。 rangeOverflow-
如果值大于
max属性指定的上限,则布尔值为true,如果小于或等于上限,则为false。如果为true,则元素将匹配:invalid和:out-of-rangeCSS 伪类。 stepMismatch-
如果值不符合
step属性确定的规则(即,不能被步长值整除),则布尔值为true,如果符合步长规则,则为false。如果为true,则元素将匹配:invalid和:out-of-rangeCSS 伪类。 badInput-
如果用户输入的值浏览器无法转换,则布尔值为
true。 customError-
一个布尔值,指示通过调用元素的
setCustomValidity()方法,元素的自定义有效性消息是否已被设置为非空字符串。
注意: 要将所有标志设置为
false,表示该元素通过了所有约束验证,请传入一个空对象{}。在这种情况下,您也无需传入message。 message可选-
一个包含消息的字符串,当任何
flags为true时会被设置。当所有flags都为false时,此参数才是可选的。 anchor可选-
一个
HTMLElement,用户代理可以使用它来报告此表单提交的问题。
返回值
无(undefined)。
异常
NotSupportedErrorDOMException-
如果元素没有将其
formAssociated属性设置为true,则抛出此异常。 TypeError-
如果一个或多个
flags为true,则抛出此异常。 NotFoundErrorDOMException-
如果提供了
anchor,但该 anchor 不是元素的 shadow-inclusive descendant,则抛出此异常。
示例
在以下示例中,调用 setValidity 时传入了空的 flags 参数,表示元素符合约束验证规则。
this.internals_.setValidity({});
在以下示例中,调用 setValidity 时将 valueMissing 标志设置为 true。此时必须同时传入一个包含消息的 message 参数。
this.internals_.setValidity({ valueMissing: true }, "my message");
规范
| 规范 |
|---|
| HTML # dom-elementinternals-setvalidity |
浏览器兼容性
加载中…