Атрибут min/max с типом = дата в HTML5
У меня есть некоторые проблемы, чтобы установить минимальный и максимальный год с вводом даты HTML5.
Вот мой код:
<input required="required" min="1900-01-01" max="2099-09-13" type="date" class="form-control" id="inputDataNascimento">
Это не работает вообще.
Я делаю что-то неправильно? Это ошибка?
Примечания: я использую Google Chrome и Twitter Bootstrap 3.
3 ответа
Некоторые браузеры, такие как Safari и Internet Explorer, не поддерживают эту функцию, это может быть вашей проблемой. Написать подтверждение через Javascript.
Список браузеров, поддерживающих эту функцию, можно увидеть по адресу:...
http://html5test.com/compare/browser/chrome-33/firefox-27/opera-19/safari-7.0/ie-11.html
Атрибуты min и max для типа ввода даты имеют очень небольшую поддержку браузера. Вы можете использовать проверку JQuery в качестве обходного пути.
<input id="dateInput" required="required" min="1900-01-01" max="2099-09-13" type="date" class="form-control" id="inputDataNascimento">
<script>
$("#dateInput").validate();
</script>
Компонент HTML5 datepicker теперь работает в большинстве браузеров, и минимальный и максимальный атрибуты управления полностью реализованы. Правильный формат - гггг-мм-дд, как описано в документации Mozilla .
<input type="date" id="birthday" name="birthday" min="2020-01-20" max="2021-01-28">
Простой пример, адаптированный из w3school:
В качестве дополнительной информации из документации спецификации HTML5.
В сеансе 4.10.5.1.7 Состояние даты (тип = дата) мы читаем:
Атрибут min, если он указан, должен иметь значение, которое является допустимой строкой даты. Атрибут max, если он указан, должен иметь значение, которое является допустимой строкой даты.
А в другом сеансе, 4.10.1.8 Формат даты, времени и чисел , мы находим:
... предназначен для машиночитаемости и согласованности независимо от локали пользователя. Например, даты всегда записываются в формате «ГГГГ-ММ-ДД», как в «2003-02-01».