ValidityState: rangeUnderflow property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The read-onlyrangeUnderflow
property of theValidityState
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'smin
attribute.
If the field is numeric in nature, including thedate,month,week,time,datetime-local,number andrange types and amin
value is set, if the value doesn't conform to the constraints set by themin
value, therangeUnderflow
property will be true.
In this article
Value
A boolean that istrue
if theValidityState
does not conform to the constraints.
Examples
>Input with numeric underflow
The following example checks the validity of anumeric input element.A constraint has been added using themin
attribute which sets a minimum value of18
for the input.If the user enters a number lower 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>Validation logged here...</pre><input type="number" min="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.rangeUnderflow) { log("Number is too low!"); } else { log("Valid…"); }});
Specifications
Specification |
---|
HTML> # dom-validitystate-rangeunderflow> |
Browser compatibility
Loading…