ElementInternals: setValidity() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
The setValidity() method of the ElementInternals interface sets the validity of the element.
Syntax
setValidity(flags)
setValidity(flags, message)
setValidity(flags, message, anchor)
Parameters
flagsOptional-
A dictionary object containing one or more flags indicating the validity state of the element:
valueMissing-
A boolean value that is
trueif the element has arequiredattribute, but no value, orfalseotherwise. Iftrue, the element matches the:invalidCSS pseudo-class. typeMismatch-
A boolean value that is
trueif the value is not in the required syntax (whentypeisemailorurl), orfalseif the syntax is correct. Iftrue, the element matches the:invalidCSS pseudo-class. patternMismatch-
A boolean value that is
trueif the value does not match the specifiedpattern, andfalseif it does match. Iftrue, the element matches the:invalidCSS pseudo-class. tooLong-
A boolean value that is
trueif the value exceeds the specifiedmaxlengthforHTMLInputElementorHTMLTextAreaElementobjects, orfalseif its length is less than or equal to the maximum length. Iftrue, the element matches the:invalidand:out-of-rangeCSS pseudo-classes. tooShort-
A boolean value that is
trueif the value fails to meet the specifiedminlengthforHTMLInputElementorHTMLTextAreaElementobjects, orfalseif its length is greater than or equal to the minimum length. Iftrue, the element matches the:invalidand:out-of-rangeCSS pseudo-classes. rangeUnderflow-
A boolean value that is
trueif the value is less than the minimum specified by theminattribute, orfalseif it is greater than or equal to the minimum. Iftrue, the element matches the:invalidand:out-of-rangeCSS pseudo-classes. rangeOverflow-
A boolean value that is
trueif the value is greater than the maximum specified by themaxattribute, orfalseif it is less than or equal to the maximum. Iftrue, the element matches the:invalidand:out-of-rangeand CSS pseudo-classes. stepMismatch-
A boolean value that is
trueif the value does not fit the rules determined by thestepattribute (that is, it's not evenly divisible by the step value), orfalseif it does fit the step rule. Iftrue, the element matches the:invalidand:out-of-rangeCSS pseudo-classes. badInput-
A boolean value that is
trueif the user has provided input that the browser is unable to convert. customError-
A boolean value indicating whether the element's custom validity message has been set to a non-empty string by calling the element's
setCustomValidity()method.
Note: To set all flags to
false, indicating that this element passes all constraints validation, pass in an empty object{}. In this case, you do not need to also pass amessage. messageOptional-
A string containing a message, which will be set if any
flagsaretrue. This parameter is only optional if allflagsarefalse. anchorOptional-
An
HTMLElementwhich can be used by the user agent to report problems with this form submission.
Return value
None (undefined).
Exceptions
NotSupportedErrorDOMException-
Thrown if the element does not have its
formAssociatedproperty set totrue. TypeError-
Thrown if one or more
flagsistrue. NotFoundErrorDOMException-
Thrown if
anchoris given, but the anchor is not a shadow-including descendant of the element.
Examples
In the following example setValidity is called with an empty flags parameter to indicate that the element meets constraint validation rules.
this.internals_.setValidity({});
In the following example setValidity is called with the flag valueMissing set to true. A message parameter must then also be passed containing a message.
this.internals_.setValidity({ valueMissing: true }, "my message");
Specifications
| Specification |
|---|
| HTML> # dom-elementinternals-setvalidity> |
Browser compatibility
Loading…