Атрибут 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».

Другие вопросы по тегам