Как получить FormGroup внутри директивы? - PullRequest
0 голосов
/ 18 марта 2019

В форме Angular 7 у меня есть:

<form [formGroup]="message" (ngSubmit)="onSubmit()">
  <input id="name" type="text" placeholder="Name" formControlName="name">
  <p class="error" *ngIf="message.get('name').errors">
    {{message.get('name')?.errors?.error}}
  </p>
</form>

Я показываю абзац ошибки, если есть ошибка для поля name.

Вместо повторения кода абзаца ошибкиЯ бы предпочел использовать простую директиву:

<p class="error" formValidationName="name"></p>  

Я пытался создать директиву:

@Directive({ selector: 'formValidationName' })

export class FormValidationNameDirective {

  constructor(el: ElementRef, renderer: Renderer) {

    renderer.setElementStyle(el.nativeElement, 'display', 'none');

    // Get formGroup

  }

}

Как получить внутри директивы группу formGroup, в которой директивав?

В этом примере будет сообщение formGroup.

Мне нужно это, поэтому в шаблоне директивы я могу вывести:

  <p class="error" *ngIf="message.get('name').errors">
    {{message.get('name')?.errors?.error}}
  </p>

Где message - это экземпляр FormGroup.

...