Angular 验证动态生成的参考模板驱动的角度

Angular 验证动态生成的参考模板驱动的角度,angular,angular2-template,Angular,Angular2 Template,我正在创建一个动态表单,我正在以我自己的方式通过模板驱动,我不想用被动的方法创建。一切正常,但只有验证对我造成了问题。我上传了我项目的一小段代码 <ng-container *ngFor="let a of UserFormArray; let i = index"> <form #f="ngForm" name="FormName"> <ng-container *ngFor="let ab of a; let i2 = index">

我正在创建一个动态表单,我正在以我自己的方式通过模板驱动,我不想用被动的方法创建。一切正常,但只有验证对我造成了问题。我上传了我项目的一小段代码

  <ng-container *ngFor="let a of UserFormArray; let i = index">
   <form #f="ngForm" name="FormName">
    <ng-container *ngFor="let ab of a; let i2 = index">
      <ng-container *ngIf="ab.type === 'text'">
        <input type={{ab.type}} pInputText name={{ab.name}} ngModel 
                                     #{{ab.name}}="ngModel" required>
           <ng-container *ngIf="ab.name.errors?.required">
                    <div>
                        Input Error
                    </div>
           </ng-container>
      </ng-container>
    </ng-container>
  </form>
 <p-button label="Click" (onClick)="sender(f)"></p-button>
</ng-container>

输入错误

问题是,我不能在这里进行验证,我使用的是模板驱动的方法,我不想使用被动形式,所以请不要建议被动链接,我要求使用模板驱动,我知道我错过了一件小事。但无法计算出它

您可以动态创建模板引用变量,但您应该知道该变量在嵌入式视图中是唯一的

因此,很可能您正在寻找以下内容:

<input ... #ngModel="ngModel" required>
    <ng-container *ngIf="ngModel.errors?.required">


ngModel.errors?这是ngModel引用名称还是普通ngModel它只是模板引用名称。您也可以执行
我刚刚忘记引用仅用于检查该元素上的内容,所以动态创建引用没有意义