Как добавить пользовательскую проверку для проверки электронной почты уже существует или нет для поля «Не требуется» в угловых 4 реактивных формах - PullRequest
0 голосов
/ 08 мая 2018

Я использую реактивную форму. Я хочу проверить, существует ли идентификатор электронной почты или нет с помощью 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. Итак, как решить эту проблему .. Пожалуйста, помогите. Спасибо заранее

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