В форме 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.