このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 が返され、 "メッセージ" という値がユーザーエージェントに送られ、表示されます。

再度 setValidity を呼び出し、今度はすべてのルールが false になっていることを示すと、reportValidity() は true を返します。

js
let element = document.getElementById("join-checkbox");
element.internals_.setValidity({ valueMissing: true }, "メッセージ");
console.log(element.internals_.reportValidity()); // false
element.internals_.setValidity({});
console.log(element.internals_.reportValidity()); // true

仕様書

仕様書
HTML
# dom-elementinternals-reportvalidity

ブラウザーの互換性