可能出现这种情况的原因是没有正确设置验证器或者没有把验证器添加到表单控件中。可以参考以下步骤进行处理:
export function customValidator(control: AbstractControl): { [key: string]: any } {
const valid = control.value === 'custom';
return valid ? null : { custom: true };
}
this.myForm = this.fb.group({
name: ['', [Validators.required, customValidator]]
});
Name is required
Name must be 'custom'
如果以上解决方法不起作用,还可以尝试使用 markAsTouched()
和 updateValueAndValidity()
等表单控件中的方法。