Вебсправочник
Практика вёрстки

Практика: обязательные поля без загадочной звёздочки

Пользователь должен заранее понимать, какие поля обязательны. Упражнение показывает явные текстовые обозначения и нативный required вместо зависимости от цвета или необъяснённого символа.

Назначение

Пользователь должен заранее понимать, какие поля обязательны. Упражнение показывает явные текстовые обозначения и нативный required вместо зависимости от цвета или необъяснённого символа.

Как это работает

Поместите краткую инструкцию перед группой. У обязательного поля добавьте required, а у необязательного укажите это словами. Label остаётся связанным с конкретным id. Обработчика отправки в данном макете нет.

Пример

<fieldset><legend>Учебная заявка</legend><p>Укажите тему. Комментарий можно оставить пустым.</p><label for="topic-name">Тема — обязательно</label><input id="topic-name" name="topic" required><label for="topic-comment">Комментарий — необязательно</label><textarea id="topic-comment" name="comment" rows="3"></textarea></fieldset>
<style>fieldset{display:grid;gap:.6rem;max-width:30rem}input,textarea{font:inherit;padding:.5rem;box-sizing:border-box;width:100%}</style>

Что должно получиться

Назначение обоих полей понятно до ввода. Браузер знает об обязательности темы из required, а человек видит ту же информацию в подписи. Необязательное поле не создаёт ложного ожидания.

Граница применения и частая ошибка

Не добавляйте required ко всем полям ради полноты данных. Текстовая пометка без атрибута не включает встроенную проверку, а атрибут без понятной инструкции не объясняет требования заранее. Серверные ограничения должны соответствовать обещаниям формы.

Самостоятельная проверка

Проверьте клавиатурный переход и клик по подписям. В отдельном тестовом файле посмотрите validity.valueMissing у пустой темы. Затем заполните только обязательное поле и подтвердите, что комментарий действительно можно пропустить.

HTML и CSS можно изменить в песочнице ниже. Она изолирована: JavaScript, внешние ресурсы и отправка форм отключены. Проверки печати, загрузки файлов и сетевых ответов выполняйте в отдельном учебном проекте.

Попробуйте сами

HTML + CSS песочница
РЕЗУЛЬТАТ · ИЗОЛИРОВАННЫЙ ПРЕДПРОСМОТР
Измените код и нажмите «Запустить». JavaScript и внешние запросы отключены.
Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.