如何解决在Angular中实现自定义验证器时失败
我试图实现一个自定义验证器,该验证器检查我的两个新密码字段是否匹配,如果不匹配则抛出错误。这就是所有功能。 我收到以下错误:
Argument of type '{ validator: (formGroup: FormGroup) => void; }' is not assignable to parameter of type 'ValidatorFn | ValidatorFn[] | AbstractControlOptions'.
Object literal may only specify kNown properties,and 'validator' does not exist in type 'ValidatorFn | ValidatorFn[] | AbstractControlOptions'.
我的代码是:
profileForm = new FormGroup({
firstname: new FormControl('',[Validators.required]),currentPassword: new FormControl('',newPassword: new FormControl('',repeatPassword: new FormControl('',[Validators.required])
},{
validator: ConfirmedValidator('newPassword','repeatPassword')
});
validator.ts的内容:
import { FormGroup } from '@angular/forms';
export function ConfirmedValidator(controlName: string,matchingControlName: string){
return (formGroup: FormGroup) => {
const control = formGroup.controls[controlName];
const matchingControl = formGroup.controls[matchingControlName];
if (matchingControl.errors && !matchingControl.errors.confirmedValidator) {
return;
}
if (control.value !== matchingControl.value) {
matchingControl.setErrors({ confirmedValidator: true });
} else {
matchingControl.setErrors(null);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。