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 |
瀏覽器相容性
載入中…