EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

验证上下文

可以在以下验证上下文中检查验证规则。

标准上下文:

  • 行动

    XAF允许将动作用作上下文。在这种情况下,执行指定的操作时会检查规则。要将上下文标识符与特定的动作相关联,请将其设置为应用程序模型的ActionDesign | ValidationContexts属性。动作| <Action>节点。您可以通过列出它们来关联任意数量的上下文标识符,并用分号分隔。

  • 保存

    如果为规则指定DefaultContexts.Save Context,则每次将所需对象(或其属性)保存到数据库时都会检查该规则。另外,默认情况下为此上下文启用就地验证(请参见IModelValidationContext.AllowInplaceValidation)。要在模型编辑器中指定保存上下文,请将IRuleBaseProperties.TargetContextIDs属性设置为Save

  • 删除

    使用DefaultContexts.Delete上下文,删除所需对象时会检查规则。要在模型编辑器中指定Delete Context,请将IRuleBaseProperties.TargetContextIDs属性设置为Delete

自定义上下文:

  • 如果标准上下文不满足您的要求,则可以实现自定义上下文。有关详细信息,请参阅“实现自定义上下文”主题。

为规则指定上下文时,可以指定其他上下文条件。在这种情况下,仅当已验证对象(或属性)的属性值满足指定条件时,才会检查“规则”。例如,如果Sex属性设置为Sex.Female,则可以检查RuleRequiredField规则的Birthday属性。若要了解如何设置此条件,请参阅所需的“验证规则”属性的TargetCriteria属性描述。

重点

由于验证系统旨在控制用户输入,因此该系统仅对分配给它们的视图对象空间自动起作用。因此,如果您手动实例化了BaseObjectSpace并通过此Object Space执行对象修改,则修改不会得到验证。但是,如果需要验证此类修改,可以通过调用分配给静态Validator.RuleSet属性的RuleSet对象的RuleSet.Validate方法来完成。有关详细说明,请参阅“实现自定义上下文”主题。

验证模块提供ShowAllContexts操作(它在UI中具有“验证”标题)。此操作针对可编辑的详细视图被激活,并允许最终用户在编辑数据时检查预定义的规则。执行ShowAllContexts操作时,将在所有关联的上下文中检查为当前对象指定的所有验证规则。验证结果由XAF中的ContextValidationResult类表示。如果检测到任何无效的验证规则,则将调用一个包含ContextValidationResult列表视图的弹出窗口。此列表视图中详细列出了所有不适用的规则。要查看有关验证结果的更多详细信息,请双击一个网格项目。该ContextValidationResult 详细视图将被调用。

Validation_ContextValidationResult_Win

Validation_ContextValidationResult_Web

ContextValidationResult详细视图显示DisplayableValidationResultItems集合。可以通过DisplayableValidationResultItem详细信息视图显示每个无效的验证规则,以提供有关验证结果的更多详细信息。可以通过双击收集项来调用此详细信息视图。

请注意,规则可能具有以下状态之一:

转载保留此链接,注明出处