Angular 2自定义验证器没有调用后端。
创始人
2024-10-15 18:00:54
0

如果在Angular 2中自定义验证器没有调用后端,可能是由于以下原因:

  1. 自定义验证器没有正确绑定到表单控件。

确保你已经正确地将自定义验证器绑定到表单控件上。在模板中,你需要使用[validator]属性将自定义验证器传递给表单控件。例如:


在组件中,你需要创建一个myCustomValidator方法来执行自定义验证逻辑。例如:

myCustomValidator(control: FormControl): {[key: string]: any} | null {
  // 执行自定义验证逻辑
  // 如果验证失败,返回一个错误对象
  // 如果验证通过,返回null
}
  1. 自定义验证器没有正确处理异步操作。

如果你的自定义验证器需要调用后端服务来验证数据,可能会涉及到异步操作。在这种情况下,你需要使用AsyncValidatorFn来创建一个异步验证器。例如:

import { AsyncValidatorFn, AbstractControl } from '@angular/forms';
import { Observable } from 'rxjs';

export function myAsyncCustomValidator(): AsyncValidatorFn {
  return (control: AbstractControl): Observable<{[key: string]: any} | null> => {
    // 执行异步操作
    // 如果验证失败,返回一个错误对象的Observable
    // 如果验证通过,返回null的Observable
  };
}

然后,在组件中使用Validators.composeAsync方法来将异步验证器与其他同步验证器组合在一起。例如:

import { Validators } from '@angular/forms';

myForm = new FormGroup({
  myControl: new FormControl('', Validators.composeAsync([myAsyncCustomValidator, Validators.required]))
});

请注意,异步验证器返回的是一个Observable,而同步验证器返回的是一个错误对象或null。

通过上述步骤,你应该能够正确地使用自定义验证器并调用后端服务进行验证。确保检查浏览器的开发者工具中的网络请求来验证是否成功调用了后端。

相关内容

热门资讯

终于懂了!wepoker辅助器... 终于懂了!wepoker辅助器有哪些功能,哈糖大菠萝软件下载,解说技巧(有挂方法);实战中需综合运用...
科普攻略!hhpoker有作弊... 科普攻略!hhpoker有作弊的吗,拱趴大菠萝万能辅助器,曝光教程(有挂透视);建议优先通过拱趴大菠...
专业讨论!aapoker透视脚... 专业讨论!aapoker透视脚本下载,wepoker透视有吗,详细教程(有挂透明)是一款可以让一直输...
记者揭秘!佛手大菠萝辅助,we... 记者揭秘!佛手大菠萝辅助,wepoker辅助软件视频,德州论坛(有挂辅助);实战中需综合运用上述技巧...
新手必备!竞技联盟破解版最新版... 1、新手必备!竞技联盟破解版最新版,wepoker到底有没有透视,切实教程(有挂透明);详细教程。2...
总算了解!智星德州可以透视吗,... 总算了解!智星德州可以透视吗,sohoo辅助,分享教程(有挂方法);《WPK辅助透视》‌:支持手机实...
今日头条!拱趴大菠萝怎么开挂,... 今日头条!拱趴大菠萝怎么开挂,德普之星辅助器,AA德州教程(有挂神器);1.拱趴大菠萝怎么开挂 ai...
记者揭秘!aapoker怎么控... 1、记者揭秘!aapoker怎么控制牌,we-poker软件,必胜教程(有挂软件)。2、aapoke...
让我来分享经验!pokemmo... 让我来分享经验!pokemmo辅助器脚本下载,aa poker透视软件,透明挂教程(有挂技巧);po...
一起来讨论!佛手在线是不是有挂... 一起来讨论!佛手在线是不是有挂,wepoker透视脚本是什么,细节揭秘(有挂方法);最新版2024是...