This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.
The validity read-only property of the HTMLOutputElement interface returns a ValidityState object that represents the validity states this element is in. Although <output> elements are never candidates for constraint validation, the validity state may still be invalid if a custom validity message has been set.
A ValidityState object.
The following example demonstrates that an <output> is in an invalid state when a customError is set; in this state, checkValidity() returns true while the validityState's validity property is false.
const output = document.getElementById("myOutput");
output.setCustomValidity("This object element is invalid.");
const validityState = output.validity;
console.log(validityState.valid); // false
console.log(validityState.customError); // true
console.log(output.checkValidity()); // true
| Specification |
|---|
| HTML> # the-constraint-validation-api:dom-cva-validity> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
validity |
9 | 14 | 4 | ≤12.1 | 5.1 | 18 | 4 | ≤12.1 | 5 | 1.0 | 3 | 5 |
HTMLOutputElement.checkValidity()<output><form>
© 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/HTMLOutputElement/validity