Создать четыре улучшенных валидатора для реактивной формы: email, required, minLength и maxLength. Отличие этих валидаторов от стандартных игнорирование пустых символов в начале и конце введенного значения.
Требования к задаче:
Подготовка среды для тестирования задачи:
1) За основу взять проект
2) В боковое меню добавить страницу Validators.
3) На этой странице создать Реактивную форму с двумя полями: Name и Email и кнопкой Subscribe и реализовать валидацию полей перед отправкой.
4) Для поля Name применить валидаторы required, minLength(3) и maxLength(50)
5) Для поля Email применить валидаторы required, email, и maxLength(50)
6) Кнопка Subscribe должна быть неактивна пока форма не будет валидна.
7) Если поле не проходит валидацию подсвечиваем его красным и показываем соответствующую ошибку:
Required field
Incorrect format
Text is too short
Text is too long
8) Если данные формы валидны сформировать объект для отправки на сервер, убрать лишние пробелы в начале и конце введенных значений.
9) Сформированный объект с данными вывести в консоль.
10) Убедиться что код отформатирован и аккуратен.
11) На github создать репозиторий, залить сделанную работу, предоставить ссылку.
Требования к валидаторам:
1) Создать отдельный модуль для требуемых валидаторов.
2) Реализовать валидаторы в соответствии со стандартом ValidatorFn
3) Для реализации валидатора email подключить библиотеку
и использовать функцию isEmail.
4) Валидаторы required, minLength() и maxLength() реализовать самостоятельно.
5) Все валидаторы должны игнорировать пустые символы в начале и конце введенного значения.
PS: Вместе с предложением прошу предоставить следующие данные:
1) Сделайте оценку времени, которое вам необходимо для выполнение данной работы
2) Опишите опыт работы связанный с Angular
3) Предоставьте ссылки на сделанные проекты, желательно с исходным кодом. (Если нет возможности предоставить ссылку на весь проект предоставьте отдельные сервисы или компоненты, в которых вы реализовали нестандартный функционал)
4) Сообщите сколько часов в неделю вы можете уделить работе над нашим проектом.