问题描述
我在FormArray中有FormGroup。表单创建空,然后用户填充它。用户可以直接在垫子表中编辑字段,但是如果用户输入错误的值,则验证将不起作用(在按行时,验证仅可进行一次)。 我在stackblitz中做了一个例子 我该如何动态验证所有表单以及每一行中的字段,并在字段下使用诸如“错误值”之类的输出标签?
解决方法
您正在使用[(ngModel)]
,这对模板驱动的表单很有用,模板本身具有验证规则。如果要使用模型驱动的表单,则必须将模板绑定到表单和表单控件上,或多或少是这样的:
<table mat-table [dataSource]="myForm.controls.tableFields.value" [formGroup]="myForm">
<!-- ... -->
<ng-container matColumnDef="product_count" [formGroupName]="'tableFields'">
<th mat-header-cell *matHeaderCellDef>Count</th>
<td mat-cell *matCellDef="let row; let i = index" [formGroupName]="i">
<input [formControlName]="'product_count'" />