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.
Properties
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
that istrue
if the user has provided input that the browser is unable to convert. customError
Read only- A
Boolean
indicating whether the element's custom validity message has been set to a non-empty string by calling the element'ssetCustomValidity()
method. patternMismatch
Read only- A
Boolean
that istrue
if the value does not match the specifiedpattern
, andfalse
if it does match. If true, the element matches the:invalid
CSS pseudo-class. rangeOverflow
Read only- A
Boolean
that is true if the value is greater than the maximum specified by themax
attribute, orfalse
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
that istrue
if the value is less than the minimum specified by themin
attribute, orfalse
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
that istrue
if the value does not fit the rules determined by thestep
attribute (that is, it's not evenly divisible by the step value), orfalse
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
that istrue
if the value exceeds the specifiedmaxlength
forHTMLInputElement
orHTMLTextAreaElement
objects, or false if its length is less than or equal to the maximum length. Note: This property is nevertrue
in Gecko, because elements' values are prevented from being longer thanmaxlength
. If true, the element matches the the:invalid
and:out-of-range
CSS pseudo-classes. tooShort
Read only- A
Boolean
that istrue
if the value fails to meet the specifiedminlength
forHTMLInputElement
orHTMLTextAreaElement
objects, orfalse
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
that istrue
if the value is not in the required syntax (whentype
isemail
orurl
), orfalse
if the syntax is correct. If true, the element matches the:invalid
CSS pseudo-class. valid
Read only- A
Boolean
that istrue
if the element meets all its validation constraints, and is therefore considered to be valid, orfalse
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
that istrue
if the element has arequired
attribute, but no value, orfalse
otherwise. If true, the element matches the:invalid
CSS pseudo-class.
Specifications
Specification | Status | Comment |
HTML Living StandardThe definition of 'ValidityState' in that specification. | Living Standard | Living Standard |
HTML 5.1The definition of 'ValidityState' in that specification. | Recommendation | No change from the previous snapshot HTML5. |
HTML5The definition of 'ValidityState' in that specification. | Recommendation | First snapshot of HTML Living Standard containing this interface. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
ValidityState
|
Chrome
Full support 15 |
Edge
Full support 12 |
Firefox
Full support 4 |
IE
Full support 10 |
Opera
Full support 12.1 |
Safari
Full support 11 |
WebView Android
Full support 4 |
Chrome Android
Full support Yes |
Firefox Android
Full support 64 |
Opera Android
Full support 12.1 |
Safari iOS
Full support 5 |
Samsung Internet Android
Full support Yes |
badInput
|
Chrome
Full support 25 |
Edge
Full support 14 |
Firefox
Full support 29 |
IE
No support No |
Opera
Full support 15 |
Safari
Full support 11 |
WebView Android
Full support 4.4 |
Chrome Android
Full support Yes |
Firefox Android
Full support 64 |
Opera Android
Full support 14 |
Safari iOS
Full support 7 |
Samsung Internet Android
Full support Yes |
tooLong
|
Chrome
Full support 15 |
Edge Full support 12 Full support 12 Notes' Not 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. |
Firefox Full support 4 Full support 4 Notes' Not 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. |
IE
Full support 10 |
Opera
Full support 15 |
Safari
Full support 11 |
WebView Android
Full support 4 |
Chrome Android
Full support Yes |
Firefox Android
Full support 64 |
Opera Android
Full support 14 |
Safari iOS
Full support 5 |
Samsung Internet Android
Full support Yes |
tooShort
|
Chrome
Full support 40 |
Edge
Full support 17 |
Firefox
Full support 51 |
IE
No support No |
Opera
Full support 27 |
Safari
Full support 11 |
WebView Android
Full support 67 |
Chrome Android
Full support Yes |
Firefox Android
Full support 64 |
Opera Android
Full support 27 |
Safari iOS
Full support 10 |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.'
- See implementation notes.
See also
ValidityState by Mozilla Contributors is licensed under CC-BY-SA 2.5.