Как проверить проверку поля Angular 4 с помощью асинхронного валидатора - PullRequest
0 голосов
/ 16 мая 2018

Как проверить форму с помощью асинхронного валидатора? Не могли бы вы предоставить образец кода. Я тестирую поле электронной почты ниже, в котором есть асинхронный валидатор с использованием теста ниже

email: ['', Validators.compose([                        Validators.composeAsync([                                                           emailValidator.validateEmail.bind(this)])]
                });


it('email field invalid because of domain', fakeAsync(() => {        
            const hostElement = fixture.nativeElement;
            const emailInput: HTMLInputElement = hostElement.querySelector('#email');
            emailInput.value = 'user@yahoo.com';
            emailInput.dispatchEvent(new Event('input'));

            fixture.detectChanges();
            const email = component.email;

            console.log('valid : ' + email.valid); //false
            console.log('errors : ' + JSON.stringify(email.errors)); // null
    });

Асинхронный валидатор возвращает наблюдаемое с правильным значением, напечатанным в консоли, указывающим на ошибку, но электронная почта не содержит ошибок, даже если она недействительна.

Чего мне не хватает? спасибо

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