Запустите пользовательскую проверку перед созданной формой - PullRequest
0 голосов
/ 30 октября 2019

У меня есть форма с пользовательской проверкой. Мне нужно проверить форму, потому что форма будет неопределенной. Если я этого не сделаю, код не работает. В настоящее время проверка работает с этим кодом, но я постараюсь улучшить его.

Когда загрузка страницы закончилась, программа прошла проверку (дважды) и записала мое сообщение в консоль (до создания формы). Я думаю что-то не так. Пока я не открою диалоговое окно / форму или законченное создание формы, она не должна запускаться.

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

1 Ответ

0 голосов
/ 30 октября 2019

Используйте этот способ

isExistValidator(): ValidatorFn {
    return (control: AbstractControl): { [key: string]: boolean } | null => {
       if (!control || !control.parent) {
          return null;
       }
       ...
    };
}
...