The ValidityState
interface represents the validity states that an element can be in, with respect to constraint validation. Together, they help explain why an element's value fails to validate, if it's not valid.
The ValidityState
interface represents the validity states that an element can be in, with respect to constraint validation. Together, they help explain why an element's value fails to validate, if it's not valid.
For each of these Boolean properties, a value of true
indicates that the specified reason validation may have failed is true, with the exception of the valid
property, which is true
if the element's value obeys all constraints.
badInput
Read only
A boolean value that is true
if the user has provided input that the browser is unable to convert.
customError
Read only
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.
patternMismatch
Read only
A boolean value that is true
if the value does not match the specified pattern
, and false
if it does match. If true
, the element matches the :invalid
CSS pseudo-class.
rangeOverflow
Read only
A boolean value that is true
if the value is greater than the maximum specified by the max
attribute, or false
if it is less than or equal to the maximum. If true
, the element matches the :invalid
and :out-of-range
and CSS pseudo-classes.
rangeUnderflow
Read only
A boolean value that is true
if the value is less than the minimum specified by the min
attribute, or false
if it is greater than or equal to the minimum. If true
, the element matches the :invalid
and :out-of-range
CSS pseudo-classes.
stepMismatch
Read only
A boolean value that is true
if the value does not fit the rules determined by the step
attribute (that is, it's not evenly divisible by the step value), or false
if it does fit the step rule. If true
, the element matches the :invalid
and :out-of-range
CSS pseudo-classes.
tooLong
Read only
A boolean value that is true
if the value exceeds the specified maxlength
for HTMLInputElement
or HTMLTextAreaElement
objects, or false
if its length is less than or equal to the maximum length. Note: This property is never true
in Gecko, because elements' values are prevented from being longer than maxlength
. If true
, the element matches the :invalid
and :out-of-range
CSS pseudo-classes.
tooShort
Read only
A boolean value that is true
if the value fails to meet the specified minlength
for HTMLInputElement
or HTMLTextAreaElement
objects, or false
if its length is greater than or equal to the minimum length. If true
, the element matches the :invalid
and :out-of-range
CSS pseudo-classes.
typeMismatch
Read only
A boolean value that is true
if the value is not in the required syntax (when type
is email
or url
), or false
if the syntax is correct. If true
, the element matches the :invalid
CSS pseudo-class.
valid
Read only
A boolean value that is true
if the element meets all its validation constraints, and is therefore considered to be valid, or false
if it fails any constraint. If true
, the element matches the :valid
CSS pseudo-class; the :invalid
CSS pseudo-class otherwise.
valueMissing
Read only
A boolean value that is true
if the element has a required
attribute, but no value, or false
otherwise. If true
, the element matches the :invalid
CSS pseudo-class.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
ValidityState |
4 | 12 | 4 | 10 | 12.1 | 5 | 4 | 18 | 4 | 12.1 | 5 | 1.0 |
badInput |
25 | 12 | 29 | No | 15 | 7 | 4.4 | 25 | 64 | 14 | 7 | 1.5 |
customError |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
patternMismatch |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
rangeOverflow |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
rangeUnderflow |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
stepMismatch |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
tooLong |
4 | 12Not supported in the unlikely case of the value being initially set too long, and then changed by the user to a still incorrect state. Per caniuse.com. |
4Not supported in the unlikely case of the value being initially set too long, and then changed by the user to a still incorrect state. Per caniuse.com. |
10 | 12.1 | 5 | 4 | 18 | 64 | 12.1 | 5 | 1.0 |
tooShort |
40 | 17 | 51 | No | 27 | 10 | 67 | 40 | 64 | 27 | 10 | 4.0 |
typeMismatch |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
valid |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
valueMissing |
4 | 12 | 4 | 10 | 12.1 | 5 | ≤37 | 18 | 4 | 12.1 | 5 | 1.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ValidityState