Форма отправки данных, состоящая из 3 отдельных таба/шага формы, которые можно переключать между собой.
Форма состоит из 4 отдельных страниц с формами. На первом экране (главная страница) можно добавить информацию о пользователе/себе и по нажатию на кнопку "Начать"
будет происходить переход на форму, состоящую из 3 шагов/табов. На этапе табов есть 2 кнопки "Далее"
- для перехода к следующему шагу и "Назад"
- для возвращения к предыдущему шагу. При переходе от таба к табу (в том числе возвращаясь на предыдущий) информация сохраняется.
При переходе меняться роут.
Валидация полей форм выполнена на чистом JS (TS) без использования дополнительных библиотек. И на каждом шаге валидация выполнена по-разному, а именно на разные события (события 'blur', input', submit')
Главная страница
- форма с вводом информации о пользователе/себеШаг/таб 1
- форма с вводом более подробной информацией о пользователе/себеШаг/таб 2
- форма сгруппой чекбоксов и радиокнопок
и полемAdvantages
- количество которых можно изменять путем добавления/удаленияШаг/таб 3
- форма сtextarea
Нельзя перейти на следующий шаг путем изменения роута в адресной строке. На странице выводится сообщение: "Этот шаг не доступен. Вы не заполнили предыдущую форму"
Форма состоит из 3 полей ввода: Имя и Фамилия
, Номер телефона
, Email
В заголовке формы имеется надпись "Ваша Фамилия и Имя"
и "ХХ"
в кружочке (инициалы).
При вводе в поле Имя и Фамилия
введенные данные автоматически сразу отображаются в заголовке формы вместо надписи "Ваша Фамилия и Имя"
, а в поле "ХХ"
отображаются инициалы (например Иванов Иван - "ИИ"
). При вводе Имени или Фамилии с маленькой буквы - при потери фокуса с инпута - автоматически первые буквы Имени и Фамилии преобразуются в заглавные - как в инпуте, так и в заголовке формы.
Валидация полей:
- все поля обязательны для заполнения
- поле
Имя и Фамилия
:- не больше 30 символов
- только кириллица! (ввод латиницы вомзожен, но сразу будет показана ошибка о необходимости ввода только кириллицы)
- ввод цифр невозможен (при введении цифр символы вводится в поле не будут)
- при вводе с Имени или Фамилии с маленькой буквы - при потери фокуса с инпута - автоматически первые буквы Имени и Фамилии преобразуются в заглавные
- ошибка при невалидных данных появляется сразу при введение пользователем больше 30 символов или при введение латиницы (событие 'input')
- поле
Номер телефона
:- валидация на заполненость поля (ввод номера телефона полностью)
- имеется маска телефона в формате
"(+7) 999 999-99-99"
- ошибка при неполном вводе телефона появляется при потери фокуса с инпута (событие 'blur') и исчезает при введении пользователем корректного значения (событие 'input')
- поле
Email
:- валидация на соотвествие формату Email
- ошибка при невалидном формате Email появляется при потери фокуса с инпута (событие 'blur') и исчезает при введении пользователем корректного формата (событие 'input')
Внизу формы кнопка "Начать"
:
- при валидных данных в полях по нажатию на кнопку происходит переход на форму, состоящую из 3 шагов/табов.
- при невалидных данных показывается ошибка
'Проверьте поля на корректность введенных данных'
над кнопкой.
Форма состоит из 4 полей ввода: Nickname
, Name
, Surname
, Sex
Ошибки при невалидных данных в полях в данной форме появляются при нажатии на кнопку "Далее"
внизу формы (то есть по событию 'submit').
Валидация полей:
- все поля обязательны для заполнения
- поле
Nickname
:- не больше 10 символов
- возможен ввод любых символов (как кириллицы так и латиницы, цифр и другие символы)
- поле
Name
:- не больше 20 символов
- ввод только кириллицы (введение латиницы невозможно, то есть символы не будут вводится вообще, необходимо переключить язык!)
- поле
Surname
:- аналогично полю
Name
- аналогично полю
- поле
Sex
:- селект с выпадающим списком с вариантами выбора:
man
иwoman
- обязательно для выбора
- селект с выпадающим списком с вариантами выбора:
Внизу формы кнопка "Далее
:
- при валидных данных в полях по нажатию на кнопку происходит переход на следующий шаг/таб.
- при невалидных данных показываются все невалидные ошибки (соответствующие всем невалидным полям) над кнопкой.
- соответствующая ошибка исчезают при изменении соотвествующего инпута (то есть по событию 'input').
Форма состоит из 4 полей ввода: Advantages
, группа чекбоксов Checkbox group
, группа радиокнопок Radio group
Ошибки при невалидных данных в полях в данной форме появляются при нажатии на кнопку "Далее"
внизу формы (то есть по событию 'submit').
Группа чекбоксов Checkbox group
и группа радиокнопка Radio group
кастомные (стилизованы).
Валидация полей:
- все поля НЕобязательны для заполнения
- поле
Advantages
:- ввод только кириллицы (введение латиницы невозможно, то есть символы не будут вводится вообще, необходимо переключить язык!)
- есть возможность добавить дополнительные поля
Advantages
, а также удалять их (для этого есть соотвествующие кнопки)
- группа чекбоксов
Checkbox group
:- есть 3 варианта выбора:
Вариант 1
,Вариант 2
,Вариант 3
- можно выбрать любое количество вариантов
- есть 3 варианта выбора:
- группа радиокнопка
Radio group
:- есть 3 варианта выбора:
Вариант 1
,Вариант 2
,Вариант 3
- можно выбрать только 1 из вариантов
- есть 3 варианта выбора:
Внизу формы кнопка "Далее
:
- переход на следующий шаг/таб так как данная форма НЕбязательна к заполнению.
Форма состоит из блока textarea
Валидация:
- НЕобязательна для заполнения
- максимально - 200 символов
- при вводе в поле
textarea
в правом нижнем углу появляется надпись "Осталось N символов"
Внизу формы кнопка "Отправить"
:
- при нажатии открывается модальное окно со всеми данными, которые были введены в формах на всех шагах
- в модальном окне внизу кнопка
"На главную"
- при нажатии - переход на главную страницу со сбросом всех введеных данных в полях всех форм