ElementInternals: checkValidity() 方法

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上运行。自 2023 年 3 月以来,它已在各种浏览器中可用。

ElementInternals 接口的 checkValidity() 方法用于检查元素是否满足应用于它的任何 约束验证 规则。

如果 checkValidity 返回 false,则会在元素上触发一个可取消的 invalid 事件

语法

js
checkValidity()

参数

无。

返回值

一个布尔值,如果元素满足所有验证约束,则为 true

异常

NotSupportedError DOMException

如果元素没有将其 formAssociated 属性设置为 true,则抛出此异常。

示例

在下面的示例中,ElementInternals.setValidity() 用于指示元素不符合验证规则。调用 checkValidity() 会返回 false。再次调用 setValidity,这次指示所有规则都被标记为 false,checkValidity() 会返回 true

js
let element = document.getElementById("join-checkbox");
element.internals_.setValidity({ valueMissing: true }, "my message");
console.log(element.internals_.checkValidity()); // false
element.internals_.setValidity({});
console.log(element.internals_.checkValidity()); // true

规范

规范
HTML
# dom-elementinternals-checkvalidity

浏览器兼容性