我有一个带有自定义验证的表单。我需要验证表单,因为表单将是未定义的。如果我不这样做,则代码无法正常工作。验证现在可以通过此代码进行,但我会尝试对其进行改进。
当页面加载完成时,程序进入验证(两次)并将我的消息写到控制台(在创建表单之前)。我认为有问题。在我打开对话框/表单或完成表单创建之前,它不应该运行。
createForm() {
this.form = this.fb.group({
name: [this.local_user.name, [Validators.required, this.isExistValidator()]]
});
}
isExistValidator(): ValidatorFn {
return (control: AbstractControl): { [key: string]: boolean } | null => {
if (this.form) {
// some code with reutrn isExist:true or null
}
};
}
使用这种方式
isExistValidator(): ValidatorFn {
return (control: AbstractControl): { [key: string]: boolean } | null => {
if (!control || !control.parent) {
return null;
}
...
};
}