当自定义验证器未触发时,可能有几种原因。以下是可能的
以下是添加验证器的示例代码:
this.form = this.formBuilder.group({
name: ['', Validators.required],
email: ['', [Validators.required, Validators.email], this.emailValidator]
});
在上面的代码示例中,将 emailValidator
添加到了 email
控件中。
以下是示例自定义验证器函数:
export const emailValidator: AsyncValidatorFn = (control: AbstractControl):
Observable => {
// Custom validation logic here
// Return error object if validation fails
return Observable.of(null); // Return null if validation passes
};
确保您的自定义验证器函数将正确的错误对象返回。
以下是示例代码:
email: ['', {
validators: [Validators.required, Validators.email],
asyncValidators: [this.asyncEmailValidator],
updateOn: 'blur'
}, { validators: [this.customEmailValidator.bind(this)], updateOn: 'blur' }]
在上面的代码示例中,customEmailValidator
将在 asyncEmailValidator
完成后运行。
希望这些解决方法对您有所帮助!