Reputation: 198
In This form I have to access the control of formControlName="last" to show errors of it.
<div [formGroup]="form">
<div formGroupName="name">
<input formControlName="first" placeholder="First name">
<input formControlName="last" placeholder="Last name">
<span *ngIf="name['controls'].last.invalid">invalid</span>
</div>
<input formControlName="email" placeholder="Email">
<button type="submit">Submit</button>
</div>
This code has thrown an error 'controls' of undefined(Bold Formatted line). control could be accessible by form['controls'].name['controls'].last.invalid , but is there any way I could access the control directly by its formGroupName ?
Thanks in Advance
Upvotes: 3
Views: 2827
Reputation: 43
@sravanponugoti: we cannot use [formGroup] with in angular. Try this code
<form [formGroup]="form">
<div formGroupName="name">
<input formControlName="first" placeholder="First">
<input formControlName="last" placeholder="Last">
<span *ngIf="form.controls['name'].controls.last.valid">invalid</span>
</div>
<input formControlName="email" placeholder="Email">
<button type="submit">Submit</button>
</form>
Upvotes: 0
Reputation: 43
Could you try below snippet
<span *ngIf="form.get('last').invalid">invalid</span>
Upvotes: 1
Reputation: 1002
Try this
<div *ngIf="!form.controls.name.controls.last.valid">
Invalid last name !!
</div>
Upvotes: 1