Я использую реактивную форму. Я хочу проверить, существует ли идентификатор электронной почты или нет с помощью rest call. Я использовал следующий код
emailValidator(control : FormControl)
{
const q = new Promise((resolve, reject) => {
setTimeout(() => {
this.signupService.isEmaiIDExist(control.value)
.pipe(catchError(this.signupService.errorHandler))
.subscribe(res => {console.log(res)
if(res.status==400)
{
resolve(null)
}else
{
resolve({ 'isEmailExist': true })
}
});
}, 1000);
});
return q;
}
А в группе Formbuilder
userEmail: new FormControl(null,[Validators.pattern('.+\@.+\..+')]),this.emailValidator.bind(this))
Я не хочу сделать это поле Обязательным . Если я сделаю это Обязательным, то приведенный выше код работает нормально. Но если я удалил обязательное поле, то при загрузке компонента напрямую отправляет 3 оставшихся вызова на сервер без ввода значения в поле formcontrol.
Итак, как решить эту проблему .. Пожалуйста, помогите. Спасибо заранее