This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The validationMessage read-only property of the HTMLInputElement interface returns a string representing a localized message that describes the validation constraints that the <input> control does not satisfy (if any).
If the <input> element is not a candidate for constraint validation (HTMLInputElement.willValidate is false), or it satisfies its constraints, the value is the empty string ("").
If the element is a candidate for constraint validation (willValidate is true) and the constraints are not met (the HTMLInputElement.validity object's valid property is false), the value is the error message that would be shown to the user during validation.
A string.
const input = document.getElementById("myInput");
const errorMessage = input.validationMessage;
| Specification |
|---|
| HTML> # dom-cva-validationmessage-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
validationMessage |
5 | 12 | 4 | ≤12.1 | 5 | 18 | 4 | ≤12.1 | 4 | 1.0 | 4.4 | 4 |
<input>HTMLInputElementHTMLInputElement.willValidateHTMLInputElement.validityHTMLInputElement.checkValidity()HTMLInputElement.reportValidity()HTMLInputElement.setCustomValidity():valid and :invalid pseudo-classes
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/validationMessage