CSS:
.in-range-test input:in-range {
background-color: lime;
}
.in-range-test input:out-of-range {
background-color: red;
}
.in-range-test input:in-range+label:after {
content: 'Okay';
color: lime;
}
.in-range-test input:out-of-range+label:after {
content: 'Not okay';
color: red;
}
<div class="in-range-test">
<form>
<input type="date" min="2000-05-30" max="2001-06-30">
<label>Your number is: </label>
</form>
</div>
Ограничения «min» и «max» работают нормально, если вы нажимаете на календарь «date», однако, если вы используете клавиатуру для установки даты за пределами допустимого диапазона, он начинает работать очень ненормальным образом, игнорируя ограничения, установленные атрибутами «min» и «max».
Например, если вы вручную установите год на 5555, день на 31 , то каждый второй или третий месяц считается «действительным». Если вы установите день 30 или ниже, тогда будет действителен только февраль. Установка даты на дату ниже, чем ограниченная дата «min», также приводит к ненормальному поведению.
Это какая-то ошибка?