acumatica - 在网格单元格、网格行、表单视图和保存时引发验证异常的最佳方法是什么?
问题描述
在网格单元格、网格行、表单视图和保存时引发验证异常的最佳方法是什么?
对于字段级别,我将 fieldVerifying 并引发 PropertySetException 它在带有红色标记的字段上显示异常。在保存句柄 RowPersisting 事件时,如果任何验证失败,它会引发异常,它将显示警报消息,但不会显示在单元格或行或字段上。这是处理验证异常的好方法吗?您可以建议任何处理验证异常的击球手方法吗?
我们是否应该将验证异常放入 RowPersisting(以避免错误的数据保存)以及 FieldVerifying 中?
解决方案
您可以使用cache.RaiseExceptionHandling
而不是在 RowPersisting 事件中引发异常来突出显示带有错误符号的字段。您还可以通过指定错误级别来控制错误符号出现的位置,如下所示:
sender.RaiseExceptionHandling<DAC.field>(e.Row, sender.GetValueExt<DAC.field>(e.Row), new PXSetPropertyException(message, PXErrorLevel.Error));
PXErrorLevel.Error 将在字段上设置错误符号,PXErrorLevel.RowError 将用错误符号标记网格中的整行。
根据 UI 要求,您可以将验证保留在 FieldVerifying 上,也可以同时进行 FieldVerifying 和 RowPersisting
推荐阅读
- excel - Excel 公式 - 用第三列映射两列值
- c# - 在 WPF TextBlock 中插入内嵌图像
- ionic-framework - 使用 ionic v3 从 TS 获取值 ion-select
- c# - 具有多个字段的 Word 互操作页眉和页脚
- python-3.x - python3.6帮助命令转储核心,当我们尝试帮助(tensorflow)
- sql - SQL Server Alwayson 和复制合并
- javascript - for 循环内的 JS DOM 不能使用字符串
- aws-elasticsearch - AWS Elasticsearch 服务获取 NodeId(实例 ID)
- javascript - AWS Amplify 和 amazon-cognito-identity-js 的区别?
- javascript - Java Script 无法从动态创建的表中检索数据