我正在尝试添加一个新的 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”的函数必须返回一个值。我应该如何修改这个函数?
添加回答
举报
0/150
提交
取消