验证mat-table内部的表单字段输入(角度7)

时间:2018-11-30 10:20:24

标签: angular angular-material angular7

我有一个带有mat输入的mat-form-field,它位于材料表中。由于数据位于material-table-datasource内部,因此我无法使用表单组并以这种方式验证输入。还有其他方法或“替代方法”可以用来解决这个问题吗?

该字段的设置如下:

<ng-container matColumnDef="rate">
  <mat-header-cell *matHeaderCellDef mat-sort-header>Currency rate</mat-header-cell>
  <mat-cell class="description-cell" *matCellDef="let data">
    <mat-form-field class="rate-form-field">
      <input matInput [value]="data.currencyRate" (focusin)="setValue(data.currencyRate)" (focusout)="checkDirty($event, data)"  placeholder="Rate">
    </mat-form-field>
  </mat-cell>
</ng-container>

该值直接从material-table-datasource绑定。在focusin上,我保存当前值,在focusout上,我对照输入字段中的实际值检查保存的值。如果不同,则更改数据源中的值。我想要实现的是我尝试保存为空和/或无效的数字/字母时,它应该在表单字段下方引发错误。

0 个答案:

没有答案