如何通过formGroupName直接访问控件

时间:2017-11-15 07:27:14

标签: angular2-forms angular-reactive-forms

在此表单中,我必须访问formControlName =“last”的控件以显示错误。

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

此代码抛出了未定义的错误“控件”(粗体格式化行)。 控件可以通过表单['controls']访问.name ['controls']。last.invalid,但是有什么办法可以直接通过formGroupName访问控件吗?

先谢谢

3 个答案:

答案 0 :(得分:0)

试试这个

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

答案 1 :(得分:0)

您可以尝试下面的代码段

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

答案 2 :(得分:0)

@sravanponugoti:我们不能在角度中使用[formGroup]。 试试这段代码

<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</s‌​pan> 
</div> 
<input formControlName="email" placeholder="Email"> 
<button type="submit">Submit</button> 
</form>