Luuk Gruijs.
Представляя формы для ваших пользователей, это считается очень удобным для пользователя, чтобы дать им немедленную обратную связь о том, на самом деле они на самом деле правильно. Кроме того, он также может ограничить количество запросов на сервер. Вы сможете поймать 99% ошибок, прежде чем отправлять форму на сервер.
При использовании реактивных форм угловые предлагают только руку, полную очень общие валидаторы. Валидаторы поля формы по умолчанию:
- Мин: Значение должно быть выше определенного числа.
- Макс: Значение должно быть ниже определенного числа.
- Требуется: Значение не может быть пустым
- Обязательное: Значение должно быть правдой
- Электронная почта: Значение должно быть электронным письмом
- Minlength: Значение должно содержать минимальное количество символов
- Maxlength: Значение должно содержать максимальное количество символов
Скорее всего, приведенные выше валидаторы не смогут соответствовать требованиям вашего сервера. Поэтому вы не можете дать пользователю обратную связь, которую они хотели бы получить и помочь им представить правильную форму. Для этого вам понадобится валидаторы поля пользовательских форм.
Создание пользовательской формы Validator Validator
Validator Form Value – это функция, которая принимает вашу форму управления – поле ввода – и подтверждает значение того, что элемент управления форм против определенного состояния. Эта функция либо ничего не возвращает, когда все в порядке, или объект, указав, что пошло не так.
Очень распространенное использование в случае пользовательского валидатора состоит в том, чтобы проверить, соответствует ли форме правила дезинфекции сервера. Это означает, что валидатор проверяет, могут ли персонажи ваши пользователь в свою форму разрешены. Давайте создадим этот валидатор формы сейчас.
Создание формы
Чтобы использовать этот валидатор, нам нужно создать форму и определить ее там. Для этого мы собираемся создать простую форму регистрации пользователя. Мы используем реактивный способ создания формы. Это может быть сделано так:
Шаблон может тогда выглядеть так:
Теперь у нас есть рабочая реактивная форма. Мы, однако, не применяли никакую проверку формы. Чтобы добавить проверку формы, мы просто передаем наши валидаторы в функцию создания формы, как это:
Мы использовали необходимые и электронные валидаторы от угловых. Мы также импортировали наши пользовательские созданные Validatecharacters. Последнее, что нам все еще нужно сделать, это представлять потенциальные ошибки для наших пользователей.
Представление ошибок пользователю
Существует два момента, когда мы хотим представить ошибки нашим пользователям: когда фокус перемещается из одного поля на другую и справа перед отправкой окончательной формы.
Давайте создадим услугу формы для этого. Эта услуга может потенциально выглядеть так:
Validateform Метод принимает форму, чтобы проверить, объект ошибок формы и булева на том, проверять ли грязные поля или нет. Затем функция проводит все элементы управления формы и проверяет, есть ли ошибки на этом элементе управления. Если есть какие-либо, мы находим правильное сообщение об ошибке, пришедшем из ВалидацияМЕССАГАЖЫ Способ и передать обратно объект ошибок формы.
Чтобы использовать эту службу ошибки в наших компонентах, мы должны сделать следующее:
Теперь последний шаг – показать сообщения об ошибках в нашем шаблоне. Мы можем сделать это так:
Если есть ошибки на одном конкретном поле, мы показываем сообщение, которое в Formerrors объект. Ниже приведен полная демо. Играйте вокруг с полями. Попробуйте заполнить как Действительно # $ ^ В поле «Имя» и посмотрите, работает ли наша заказная форма Validator. Если ошибки не появляются, нажмите кнопку регистрации и посмотрите сообщение об успехе.
Заключение
Я надеюсь, что эта статья поможет вам подтвердить ваши формы и дать своим пользователям лучшим опытом при заполнении форм.
Ищете работу в Амстердаме?
Я работаю на Сытак как старший интерфейсный разработчик. Мы ищем середины/старших разработчиков, которые специализируются на угловых, реагированных, Java или Scala. Sytac – очень амбициозная консультационная компания в Нидерландах.
Если вы думаете, что у вас есть то, что нужно для работы с лучшими, пришлите мне электронное письмо на luuk.gruijs@sytac.io, и я рад больше сказать вам.
Оригинал: “https://www.freecodecamp.org/news/validating-reactive-forms-with-default-and-custom-form-field-validators-in-angular-5586dc51c4ae/”