为了账号安全,请及时绑定邮箱和手机立即绑定

以角度添加 AsyncValidator 时出错

以角度添加 AsyncValidator 时出错

炎炎设计 2021-08-26 16:47:55
我正在尝试添加一个新的 AsyncValidator 来检查用户的电子邮件是否已存在于数据库中。以下是可能的验证器:  export class UniqueEmailValidator implements AsyncValidator {    constructor(private webService: WebWrapperService) {}    validate(ctrl: AbstractControl): Promise < ValidationErrors | null > | Observable < ValidationErrors | null > {          return this.webService.isEmailExistEx(ctrl.value)        .pipe(          map(res => {                console.log("get response" + res);            if (res) {              return { 'uniqueEmail': true};            }            return null;                          })        );    }  }服务中的函数 isEmailExistEx 会向服务器发送一个 post 请求。isEmailExistEx(email: string): Observable<boolean> {    this.http.post(this.baseUrl + "auth/verify",      {        "email": email      })      .subscribe(        (val: any) => {          if (!val.result) {            return of(false);          } else {            return of(true);          }        },        response => {          return of(false);        },        () => {          return of(false);        });  }它报告以下错误:声明类型既不是“void”也不是“any”的函数必须返回一个值。我应该如何修改这个函数?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信