我有一个带有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上,我对照输入字段中的实际值检查保存的值。如果不同,则更改数据源中的值。我想要实现的是我尝试保存为空和/或无效的数字/字母时,它应该在表单字段下方引发错误。