The element's custom validity message has been set to a non-empty string by calling the element's setCustomValidity() method.
The element's custom validity message has been set to a non-empty string by calling the element's setCustomValidity() method.
MDN
The value does not match the specified pattern.
The value does not match the specified pattern.
MDN
The value is greater than the maximum specified by the max attribute.
The value is greater than the maximum specified by the max attribute.
MDN
The value is less than the minimum specified by the min attribute.
The value is less than the minimum specified by the min attribute.
MDN
The value does not fit the rules determined by the step attribute (that is, it's not evenly divisible by the step value).
The value does not fit the rules determined by the step attribute (that is, it's not evenly divisible by the step value).
MDN
The value exceeds the specified maxlength for HTMLInputElement or HTMLTextAreaElement objects.
The value exceeds the specified maxlength for HTMLInputElement or HTMLTextAreaElement objects. Note: This will never be true in Gecko, because elements' values are prevented from being longer than maxlength.
MDN
The value is not in the required syntax (when type is email or url).
The value is not in the required syntax (when type is email or url).
MDN
The element meets all constraint validations, and is therefore considered to be valid.
The element meets all constraint validations, and is therefore considered to be valid.
MDN
The element has a required attribute, but no value.
The element has a required attribute, but no value.
MDN
The DOM 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.
MDN