ElementInternals:reportValidity() 方法

基线 2023

新发布

2023 年 3 月起,此功能在最新的设备和浏览器版本中均可使用。此功能可能无法在旧设备或浏览器中使用。

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

如果 reportValidity 返回 false,则会对元素触发一个可取消的 无效事件

此方法的行为类似于 ElementInternals.checkValidity(),但它还会将 ElementInternals.validationMessage 的值发送到用户代理以进行显示。

语法

js
reportValidity()

参数

无。

返回值

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

异常

NotSupportedError DOMException

如果元素的 formAssociated 属性未设置为 true,则抛出此异常。

示例

在以下示例中,ElementInternals.setValidity() 用于指示元素不满足验证规则。调用 reportValidity() 返回 false,并且值“my message”被发送到用户代理以进行显示。

再次调用 setValidity 后,这次指示所有规则都被标记为 false,reportValidity() 返回 true

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

规范

规范
HTML 标准
# dom-elementinternals-reportvalidity

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。