Используйте updateOn: 'blur' в угловых реактивных формах - PullRequest
0 голосов
/ 04 сентября 2018

Я бы хотел начать проверку полей моих форм только тогда, когда пользователь покинул поле (onblur).

Я пытаюсь таким образом:

    this.profileForm = this.fb.group({
                firstName: ['initial value',
                    [Validators.required, Validators.minLength(2), forbiddenNameValidator(/bob/i)],
                    [forbiddenNameValidatorAsync()],
                    { updateOn: 'blur' }
                ],
                lastName: ['b']
            });

Но так не работает. Проверки (синхронизация и асинхронность) выполняются во время onChange.

Я также хотел бы спросить, как вы можете проверить имя, выполнив проверки на lastName.

Пример. Я бы хотел, чтобы поле имени было отключено, если оно совпадает с фамилией (только поле имени, а не вся форма и не оба поля).

1 Ответ

0 голосов
/ 04 сентября 2018

Установить параметры как AbstractControlOptions

    firstName: ['initial value',{
         validators: [Validators.required, Validators.minLength(2), forbiddenNameValidator(/bob/i)],
         asyncValidators: [forbiddenNameValidatorAsync()],
         updateOn: 'blur'
    }],

Пример здесь https://stackblitz.com/edit/angular-hdna17?file=src%2Fapp%2Fhello.component.ts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...