运行 创建表单前的自定义验证
Run custom validation before created form
我有一个带有自定义验证的表单。
我需要验证表单,因为表单将是未定义的。如果我不这样做,代码将无法运行。验证目前正在使用此代码,但我会尝试改进它。
页面加载完成后,程序进入验证(两次)并将我的消息写入控制台(在创建表单之前)。我觉得不对劲。在我打开 dialog/form 或完成表单创建之前,它不应该 运行.
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;
}
...
};
}
我有一个带有自定义验证的表单。 我需要验证表单,因为表单将是未定义的。如果我不这样做,代码将无法运行。验证目前正在使用此代码,但我会尝试改进它。
页面加载完成后,程序进入验证(两次)并将我的消息写入控制台(在创建表单之前)。我觉得不对劲。在我打开 dialog/form 或完成表单创建之前,它不应该 运行.
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;
}
...
};
}