Ввод неделя

< input > элементы типа week создают поля ввода, позволяющие легко вводить год плюс номер недели в соответствии с ISO 8601 в течение этого года (т. е. недели с 1 по 52 или 53 ).

Пользовательский интерфейс элемента управления варьируется от браузера к браузеру; кросс-браузерная поддержка в настоящее время немного ограничена, и в настоящее время ее поддерживают только Chrome/Opera и Microsoft Edge. В неподдерживающих браузерах элемент управления изящно деградирует, чтобы функционировать идентично < input type="text" > .

Основное использование недели

Самое простое использование < input type="week" > включает в себя комбинацию базового элемента < input > и < label > элемента, как показано ниже:

Управление размером ввода

< input type="week" > не поддерживает атрибуты размера формы, такие как size . Вам придется прибегнуть к CSS для определения размеров.

Использование атрибута шага

Вы должны иметь возможность использовать step атрибут для изменения количества пропущенных недель всякий раз, когда они увеличиваются или уменьшаются, однако, похоже, это не оказывает никакого влияния на поддерживаемые браузеры.

Установка максимального и минимального количества недель

Вы можете использовать атрибуты min и max для ограничения допустимых недель, которые может выбрать пользователь. В следующем примере мы устанавливаем минимальное значение Week 01, 2017и максимальное значение Week 52, 2017:

Требование недельных значений

Кроме того, вы можете использовать required атрибут, чтобы сделать заполнение недели обязательным. В результате поддерживающие браузеры будут отображать ошибку, если вы попытаетесь отправить пустое поле недели.

Давайте посмотрим на пример; здесь мы установили минимальную и максимальную недели, а также сделали поле обязательным:

Предупреждение. Проверка HTML-формы не заменяет сценарии, гарантирующие правильность формата введенных данных. Для кого-то слишком просто внести коррективы в HTML, которые позволят обойти проверку или полностью удалить ее. Также возможно, что кто-то полностью обойдет ваш HTML-код и отправит данные непосредственно на ваш сервер. Если ваш код на стороне сервера не может проверить данные, которые он получает, может произойти катастрофа, когда будут отправлены данные в неправильном формате (или данные, которые слишком велики, имеют неправильный тип и т. д.).