mat-table中FormGroup的动态验证FormArray不起作用

问题描述

我在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'" />

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...