Interface ValidityState
interface ValidityState {
badInput: boolean;
customError: boolean;
patternMismatch: boolean;
rangeOverflow: boolean;
rangeUnderflow: boolean;
stepMismatch: boolean;
tooLong: boolean;
tooShort: boolean;
typeMismatch: boolean;
valid: boolean;
valueMissing: boolean;
}
badInput: boolean;
customError: boolean;
patternMismatch: boolean;
rangeOverflow: boolean;
rangeUnderflow: boolean;
stepMismatch: boolean;
tooLong: boolean;
tooShort: boolean;
typeMismatch: boolean;
valid: boolean;
valueMissing: boolean;
}
 Properties
ReadonlybadInput 
badInput: boolean
ReadonlycustomError 
customError: boolean
ReadonlypatternMismatch 
patternMismatch: boolean
ReadonlyrangeOverflow 
rangeOverflow: boolean
ReadonlyrangeUnderflow 
rangeUnderflow: boolean
ReadonlystepMismatch 
stepMismatch: boolean
ReadonlytooLong 
tooLong: boolean
ReadonlytooShort 
tooShort: boolean
ReadonlytypeMismatch 
typeMismatch: boolean
Readonlyvalid
valid: boolean
ReadonlyvalueMissing 
valueMissing: boolean
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 Reference