运行 创建表单前的自定义验证

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;
       }
       ...
    };
}