ValidityState: stepMismatch property

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The read-only stepMismatch property of a ValidityState object 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 step attribute.

If the field is numeric in nature, including the date, month, week, time, datetime-local, number and range types and the step value is not any, if the value don't doesn't conform to the constraints set by the step and min values, then stepMismatch will be true. If the remainder of the form control's value less the min value, divided by the step value (which defaults to 1 if omitted) is not zero, there is a mismatch.

Given the following:

html
<input type="number" min="20" max="40" step="2" />

if (value - min) % 2 !== 0, stepMismatch will be true.

If true, the element matches the :invalid and :out-of-range CSS pseudo-classes.

Specifications

Specification
HTML Standard
# dom-validitystate-stepmismatch

Browser compatibility

desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
stepMismatch

See also