PrimeNG table 验证
PrimeNG table validation
我关注 PrimeNG Table这是 StackBlitz 演示。
https://stackblitz.com/edit/datatablevalidation
只有一列 "Value" 是 editable。
在 "Value" 列中,我想添加一些基于 "Type" 列的验证。
我正在动态呈现列值类型
<input pInputText [(ngModel)]="rowData[col.field]" type={{rowData.propValueType.toLowerCase()}} class="form-control" />
我最大的挑战是在第一次加载时验证 table,因为列类型是现有产品的新列功能,并且数据已经存在于 table 中,我需要显示所有验证启动 table 时出错。
从我的示例中,您可以看到第一行的类型为 email has an invalid value,所有行都相同
您可以像这样向用户显示某些值不正确:
<ng-template pTemplate="output">
<p>{{rowData[col.field]}} </p>
<p *ngIf="rowData.propValueType.toLowerCase() =='email'
&& !isCorrectEmail(rowData[col.field])"
style="color:red">
incorrect email
</p>
</ng-template>
然后在您的 .ts
文件中:
isCorrectEmail(emailAddress: any) {
let re = /^(([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(emailAddress).toLowerCase());
}
对于其他类型,您可以编写其他验证方法。
我关注 PrimeNG Table这是 StackBlitz 演示。
https://stackblitz.com/edit/datatablevalidation
只有一列 "Value" 是 editable。
在 "Value" 列中,我想添加一些基于 "Type" 列的验证。 我正在动态呈现列值类型
<input pInputText [(ngModel)]="rowData[col.field]" type={{rowData.propValueType.toLowerCase()}} class="form-control" />
我最大的挑战是在第一次加载时验证 table,因为列类型是现有产品的新列功能,并且数据已经存在于 table 中,我需要显示所有验证启动 table 时出错。
从我的示例中,您可以看到第一行的类型为 email has an invalid value,所有行都相同
您可以像这样向用户显示某些值不正确:
<ng-template pTemplate="output">
<p>{{rowData[col.field]}} </p>
<p *ngIf="rowData.propValueType.toLowerCase() =='email'
&& !isCorrectEmail(rowData[col.field])"
style="color:red">
incorrect email
</p>
</ng-template>
然后在您的 .ts
文件中:
isCorrectEmail(emailAddress: any) {
let re = /^(([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(emailAddress).toLowerCase());
}
对于其他类型,您可以编写其他验证方法。