ElementInternals: reportValidity() 方法

Baseline 已廣泛支援

此功能已成熟,並可在許多裝置和瀏覽器版本上執行。自 2023 年 3 月以來,它已在各種瀏覽器中可用。

reportValidity() 方法是 ElementInternals 介面的一部分,用於檢查元素是否滿足應用於它的任何 約束驗證規則。

如果 reportValidity 返回 false,則會在元素上觸發一個可取消的 invalid 事件

此方法與 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

瀏覽器相容性