Baseline Widely available
The read-only rangeOverflow
property of the ValidityState
interface indicates if the value of an <input>
, after having been edited by the user, does not conform to the constraints set by the element's max
attribute.
If the field is numeric in nature, including the date, month, week, time, datetime-local, number and range types and a max
value is set, if the value doesn't conform to the constraints set by the max
value, the rangeOverflow
property will be true.
A boolean that is true
if the ValidityState
does not conform to the constraints.
The following example checks the validity of a numeric input element. A constraint has been added using the max
attribute which sets a maximum value of 18
for the input. If the user enters a number higher than 18, the element fails constraint validation, and the styles matching :invalid
and :out-of-range
CSS pseudo-classes
/* or :invalid */
input:out-of-range {
outline: red solid 3px;
}
body {
margin: 0.5rem;
}
pre {
padding: 1rem;
height: 2rem;
background-color: lightgrey;
outline: 1px solid grey;
}
<pre id="log">Validation logged here...</pre>
<input type="number" id="age" max="18" />
const userInput = document.getElementById("age");
const logElement = document.getElementById("log");
function log(text) {
logElement.innerText = text;
}
userInput.addEventListener("input", () => {
userInput.reportValidity();
if (userInput.validity.rangeOverflow) {
log("Number is too high!");
} else {
log("Input is validâ¦");
}
});
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3