Тип ввода даты минимальные и максимальные значения проверяются на yyyy-mm-dd вместо dd-mm-yyyy

Я использую тип ввода даты в HTML5. Он правильно отображает формат dd-MM-yyyy. Однако значения min и max не проверяются корректно, поскольку они проверяются на формат yyyy-MM-dd. Я не смог изменить формат, который проверяет значения min и max, любые идеи?

<input type="date" name="DateName" id="DateID" min="2000-01-01" max="2100-12-31"/>

Ответ 1

Атрибуты value, min и max имеют одинаковый формат для дат. Они следуют RFC 3339, где полный синтаксис данных:

full-date       = date-fullyear "-" date-month "-" date-mday
date-fullyear   = 4DIGIT
date-month      = 2DIGIT  (01-12)
date-mday       = 2DIGIT  (01-28, 01-29, 01-30, 01-31)

Таким образом, даже если браузер отображает дату в формате dd-mm-yyyy внутренне, используя этот синтаксис.

В любом случае этот тип ввода HTML5 поддерживается только в Safari, Chrome и Opera.

Вы можете попробовать этот Fiddle с недопустимыми датами как 12/12/2014, когда вы отправляете форму, отображается сообщение об ошибке.