Constraint validation API
Widely available since 2021-06-11 (baseline high)
Methods that validate form controls before submission, such as checkValidity()
, reportValidity()
and setCustomValidity()
.
Compatibility (view on caniuse.com)
- Chrome 40 Released on 2015-01-21
- Chrome Android 40 Released on 2015-01-21
- Edge 18 Released on 2018-10-02
- Firefox 51 Released on 2017-01-24
- Firefox for Android 64 Released on 2018-12-11
- Safari 10.1 Released on 2017-03-27
- Safari on iOS 10.3 Released on 2017-03-27
MDN docs
- HTMLInputElement.checkValidity
- HTMLInputElement.setCustomValidity
- HTMLObjectElement.willValidate
- HTMLSelectElement.checkValidity
- HTMLSelectElement.setCustomValidity
- ValidityState
- ValidityState.patternMismatch
- ValidityState.rangeOverflow
- ValidityState.rangeUnderflow
- ValidityState.stepMismatch
- ValidityState.typeMismatch
- ValidityState.valueMissing
- HTMLObjectElement.checkValidity
- HTMLObjectElement.setCustomValidity
- HTMLObjectElement.validationMessage
- HTMLObjectElement.validity
- HTMLFormElement.reportValidity
- ValidityState.tooLong
- ValidityState.badInput
- HTMLInputElement.reportValidity
- ValidityState.tooShort
Specifications
BCD data
- api.HTMLButtonElement.willValidate
- api.HTMLFieldSetElement.willValidate
- api.HTMLInputElement.willValidate
- api.HTMLSelectElement.willValidate
- api.HTMLTextAreaElement.willValidate
- api.HTMLButtonElement.validity
- api.HTMLFieldSetElement.validity
- api.HTMLFormElement.checkValidity
- api.HTMLInputElement.checkValidity
- api.HTMLInputElement.setCustomValidity
- api.HTMLInputElement.validity
- api.HTMLObjectElement.willValidate
- api.HTMLSelectElement.checkValidity
- api.HTMLSelectElement.setCustomValidity
- api.HTMLSelectElement.validity
- api.HTMLButtonElement.checkValidity
- api.HTMLButtonElement.setCustomValidity
- api.HTMLFieldSetElement.checkValidity
- api.HTMLFieldSetElement.setCustomValidity
- api.HTMLTextAreaElement.checkValidity
- api.HTMLTextAreaElement.setCustomValidity
- api.HTMLTextAreaElement.validity
- api.ValidityState
- api.ValidityState.customError
- api.ValidityState.patternMismatch
- api.ValidityState.rangeOverflow
- api.ValidityState.rangeUnderflow
- api.ValidityState.stepMismatch
- api.ValidityState.typeMismatch
- api.ValidityState.valid
- api.ValidityState.valueMissing
- api.HTMLButtonElement.validationMessage
- api.HTMLFieldSetElement.validationMessage
- api.HTMLInputElement.validationMessage
- api.HTMLSelectElement.validationMessage
- api.HTMLTextAreaElement.validationMessage
- api.HTMLObjectElement.checkValidity
- api.HTMLObjectElement.setCustomValidity
- api.HTMLObjectElement.validationMessage
- api.HTMLObjectElement.validity
- api.HTMLOutputElement.checkValidity
- api.HTMLOutputElement.setCustomValidity
- api.HTMLOutputElement.validationMessage
- api.HTMLOutputElement.validity
- api.HTMLOutputElement.willValidate
- api.HTMLOutputElement.reportValidity
- api.HTMLFormElement.reportValidity
- api.HTMLObjectElement.reportValidity
- api.ValidityState.tooLong
- api.ValidityState.badInput
- api.HTMLButtonElement.reportValidity
- api.HTMLFieldSetElement.reportValidity
- api.HTMLInputElement.reportValidity
- api.HTMLSelectElement.reportValidity
- api.HTMLTextAreaElement.reportValidity
- api.ValidityState.tooShort