如何添加自定义验证以检查电子邮件已存在或不存在角度4反应形式中的“不必要”字段

时间:2018-05-08 06:27:24

标签: angular validation angular-reactive-forms

我正在使用Reactive form.I想要使用rest call检查电子邮件ID是否存在。我使用以下代码

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字段中输入任何值。 那么如何解决这个问题..请帮忙。提前谢谢你

0 个答案:

没有答案