How to access the control directly by its formGroupName

Viewed 2284

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

3 Answers

Could you try below snippet

<span *ngIf="form.get('last').invalid">invalid</span>

Try this

<div *ngIf="!form.controls.name.controls.last.valid">
       Invalid last name !!
    </div>
Related