首页 > 解决方案 > TypeError:无法读取 null 的属性“emailTaken”

问题描述

当我在我的 RegisterForm 中输入我的电子邮件时,它等于将 ['emailTaken'] 设置为 true 的那个。我收到以下错误代码:

ERROR TypeError: Cannot read property 'emailTaken' of null

这是我的函数的代码:

checkEmail(control:FormControl): Promise<any> | Observable<any>{
    const answer = new Promise<any>((resolve, reject) => {
      setTimeout(() => {
        if(control.value == 'stijn.wauters@outlook.com'){
          resolve({'emailTaken': true})
        }else{
          resolve(null)
        }
      },1500);
    });
    return answer;
  }

在这里我触发了 HTML 中的错误:

<span *ngIf="registerForm.get('email').errors['emailTaken']" class="help-block">
                            Email is already taken!
                        </span>

我该如何解决这个问题,这样它就不会给我错误?

标签: angularangular-reactive-forms

解决方案


hasError对于检查错误可能更有用。

<span *ngIf="registerForm.get('email').hasError('emailTaken')" class="help-block">
       Email is already taken!
</span>

推荐阅读