数据表编辑无法用二维验证
DataTable Edit Can not validate with two-dimensional
我遇到有关数据table编辑器
的问题
我的table是PrimeNG的数据table,这个table可以编辑行的任意单元格,所有单元格都是必需的:
这里是Datatable的要求:
可以编辑任何单元格
验证任何单元格(必需)
当我完成 2 个要求时,当输入为空时输入会出现错误
Error: If ngModel is used within a form tag, either the name attribute must be set or the form
control must be defined as 'standalone' in ngModelOptions.
Example 1: <input [(ngModel)]="person.firstName" name="first">
我认为问题是当输入具有相同的值时名称为空且重复。
现在我想像这样设置每个输入的属性名称
[name]="`{col.field}` + '_' + `value of first row` + '_' + data[col.field]"
这将使输入是唯一的,我该怎么做,或者有人建议我其他解决方案
这是 Plunker
https://plnkr.co/edit/n0S4JK1siLvDHypTSpkZ?p=preview
i think the problem is the name is blank and duplicate when input have same value.
的确,你是对的。你的错误意味着你必须有一个 name
属性 并且这个永远不应该是空的。但是,当您删除单元格值时,data[col.field]
变为空,因此 name
属性.
所以要解决你的问题,你不应该依赖这个值。因此,您可以做的是分配行索引和列索引的串联。像 rowIndex_columnIndex :
<form (ngSubmit)="onSubmit()" #form="ngForm">
<p-dataTable [value]="data" [editable]="true">
<p-column *ngFor="let col of cols,let j=index" [field]="col.field" [editable]="true" [header]="col.header">
<ng-template let-col let-data="rowData" pTemplate="editor" let-i="rowIndex">
<input [(ngModel)]="data[col.field]" pInputText required="true" [name]="i+'_'+j"/>
</ng-template>
</p-column>
</p-dataTable>
其中 i 是行的索引,j 是列的索引。
查看工作 Plunker
我遇到有关数据table编辑器
的问题我的table是PrimeNG的数据table,这个table可以编辑行的任意单元格,所有单元格都是必需的:
这里是Datatable的要求:
可以编辑任何单元格 验证任何单元格(必需) 当我完成 2 个要求时,当输入为空时输入会出现错误
Error: If ngModel is used within a form tag, either the name attribute must be set or the form
control must be defined as 'standalone' in ngModelOptions.
Example 1: <input [(ngModel)]="person.firstName" name="first">
我认为问题是当输入具有相同的值时名称为空且重复。
现在我想像这样设置每个输入的属性名称
[name]="`{col.field}` + '_' + `value of first row` + '_' + data[col.field]"
这将使输入是唯一的,我该怎么做,或者有人建议我其他解决方案
这是 Plunker https://plnkr.co/edit/n0S4JK1siLvDHypTSpkZ?p=preview
i think the problem is the name is blank and duplicate when input have same value.
的确,你是对的。你的错误意味着你必须有一个 name
属性 并且这个永远不应该是空的。但是,当您删除单元格值时,data[col.field]
变为空,因此 name
属性.
所以要解决你的问题,你不应该依赖这个值。因此,您可以做的是分配行索引和列索引的串联。像 rowIndex_columnIndex :
<form (ngSubmit)="onSubmit()" #form="ngForm">
<p-dataTable [value]="data" [editable]="true">
<p-column *ngFor="let col of cols,let j=index" [field]="col.field" [editable]="true" [header]="col.header">
<ng-template let-col let-data="rowData" pTemplate="editor" let-i="rowIndex">
<input [(ngModel)]="data[col.field]" pInputText required="true" [name]="i+'_'+j"/>
</ng-template>
</p-column>
</p-dataTable>
其中 i 是行的索引,j 是列的索引。
查看工作 Plunker