Angular的异步验证器卡住了
创始人
2024-10-24 11:32:07
0

检查您的异步验证器是否正确,并确保它返回一个Observable对象。

例如,下面的代码演示了如何使用异步验证器来验证输入的值是否唯一:

import { AsyncValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms';
import { Observable, of } from 'rxjs';
import { map, catchError } from 'rxjs/operators';
import { UserService } from 'app/services/user.service';

export function uniqueNameValidator(userService: UserService): AsyncValidatorFn {
  return (control: AbstractControl): Observable => {
    return userService.checkName(control.value).pipe(
      map(res => {
        // 如果名字可用,返回null表示验证成功
        return res ? null : { nameExists: true };
      }),
      catchError(() => {
        // 如果存在错误,返回一个任意的非空值,表示验证失败
        return of({ nameExists: true });
      })
    );
  };
}

在上面的代码中,我们定义了一个名为uniqueNameValidator的异步验证器函数,该函数接收一个UserService对象作为参数。 我们使用管道操作符map和catchError来处理异步验证器的返回值,并返回一个Observable对象。 在map操作符中,我们将异步验证器的结果转换为ValidationErrors对象或null。 如果用户的名字已存在,则我们返回{ nameExists : true }。 如果存在错误,则我们返回一个非空值。

如果您的异步验证器仍然卡住了,请检查您是否正确使用了Observable,以及是否在验证器中处理了所有可能的错误。

相关内容

热门资讯

第四分钟实锤!德扑数据软件(德... 第四分钟实锤!德扑数据软件(德州app)竟然是有挂(详细辅助揭秘教程)1)德扑数据软件辅助挂:进一步...
四分钟实锤!德州ai辅助有用(... 四分钟实锤!德州ai辅助有用(来玩德州app)总是存在有挂(详细辅助力荐教程);1、德州ai辅助有用...
第二分钟实锤!德州ai人工智能... 第二分钟实锤!德州ai人工智能(wepower德州)一直存在有挂(详细辅助教你教程);1、起透看视 ...
第二分钟实锤!德州之星插件(德... 第二分钟实锤!德州之星插件(德州ai)竟然真的有挂(详细辅助技巧教程);1、进入到德州之星插件黑科技...
第9分钟实锤!德扑之星ai代打... 第9分钟实锤!德扑之星ai代打(德州wepower)都是有挂(详细辅助AI教程)1、德扑之星ai代打...
第六分钟实锤!德扑ai智能机器... 第六分钟实锤!德扑ai智能机器人(德州wpk)原来存在有挂(详细辅助介绍教程)1、打开软件启动之后找...
第六分钟实锤!德扑ai助手(德... 第六分钟实锤!德扑ai助手(德扑)其实存在有挂(详细辅助实用技巧)小薇(透视辅助)致您一封信;亲爱德...
1分钟实锤!德州之星辅助挂(德... 1分钟实锤!德州之星辅助挂(德州扑克)果然有挂(详细辅助安装教程)1.德州之星辅助挂 ai辅助创建新...
第四分钟实锤!德州之星插件(云... 第四分钟实锤!德州之星插件(云扑克德州)一贯真的是有挂(详细辅助曝光教程)1、完成德州之星插件透视辅...
3分钟实锤!德州微扑克辅助(w... 3分钟实锤!德州微扑克辅助(wpk德州)切实是有挂(详细辅助解密教程)1、进入游戏-大厅左侧-新手福...