Урок 20. Задания

📁 Раздел: shadcn/ui ⏱️ Время изучения: ~55 мин 🎯 Сложность: Продвинутая

⚡ Кратко

Три задания на формы и четыре вопроса.

Задания

Задание 1. Поле по канону

Соберите поле «Телефон»: подпись, поле с подсказкой формата, сообщение об ошибке при некорректном значении. Обязательно свяжите подпись, поле, подсказку и ошибку атрибутами.

Задание 2. Схема валидации

Опишите на zod схему формы обратной связи: имя (от 2 символов), почта, тема (список из трёх значений), сообщение (от 20 символов), согласие на обработку данных. Выведите тип значений через z.infer.

Задание 3. Проверка доступности

Пройдите свою форму только клавиатурой и ответьте: попадает ли фокус во все поля по порядку; видно ли фокус; объявляется ли ошибка; можно ли отправить форму клавишей Enter; блокируется ли кнопка во время отправки.

Проверка понимания

Выберите один вариант ответа — правильный подсветится после клика.

Вопрос 1

Как правильно сообщить об ошибке поля?

Вопрос 2

Зачем подписи атрибут htmlFor?

Вопрос 3

Что даёт z.infer<typeof schema>?

Вопрос 4

Почему кнопку отправки блокируют при isSubmitting?