angular - Angular 自定义验证器错误组已弃用:此 API 不是类型安全的
问题描述
我有这个警告
group 已弃用:此 API 不是类型安全的,可能会导致 Closure Compiler 重命名问题。改用
FormBuilder#group
重载AbstractControlOptions
。请注意,AbstractControlOptions
期望validators
和asyncValidators
成为验证者。如果您有自定义验证器,请确保它们的验证函数参数是AbstractControl
而不是子类,例如FormGroup
. 这些函数将使用类型对象调用,AbstractControl
并且不能自动向下转换为子类,因此 TypeScript 将此视为错误。例如,将(group: FormGroup) => ValidationErrors|null
签名更改为(group: AbstractControl) => ValidationErrors|null
.
如何修复此代码?
export function passwordMatchValidator(
group: AbstractControl
): { invalidRePassword: boolean } | null {
const passwordCtrl: AbstractControl | null = group.get('password');
const passwordConfirmCtrl: AbstractControl | null = group.get(
'passwordConfirm'
);
if (passwordCtrl && passwordConfirmCtrl) {
if (passwordConfirmCtrl.touched || passwordConfirmCtrl.dirty) {
if (passwordCtrl.value !== passwordConfirmCtrl.value) {
passwordConfirmCtrl.setErrors({ invalidRePassword: true });
return { invalidRePassword: true };
}
}
}
return null;
}
this.frm = this.fb.group({
password: ['', Validators.required],
passwordConfirm: ['', Validators.required],
},
{ validator: passwordMatchValidator }
);
解决方案
推荐阅读
- react-native - 如何从 URL 下载图像并缓存 Android (React-Native)
- python - 分类线串的 GeoDataFrame 上的 Hvplot 无法绘制不同的颜色
- c# - Linq - 带有连接的选择语句内的值总和
- python - 如何检测Python中的输入?
- excel - 数据透视表 Excel 2016 - 2019
- elasticsearch - 两个弹性搜索查询合二为一
- windows - 为批处理文件中的单个命令打开 echo
- angular - 使用 AngularFire Auth 限制对 AngularFireDatabase 的访问
- javascript - 应用状态界面中的 NgRx 根状态键
- python - 间歇连接的队列大小和阻塞