EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

在应用程序模型中实现属性值验证

在本课程中,您将学习如何检查属性值是否满足特定规则。为此,将使用DemoTask.Status属性和MarkCompleted Action。如果当前任务状态为“未启动”,则不应执行此操作。因此,执行MarkCompleted Action时将检查规则。

注意

在继续之前,请花一点时间回顾以下课程。

验证功能由“验证模块”提供,该模块已在“代码中实现属性值验证”(XPO)课程中添加。当将此模块添加到MySolution.Module项目中时,“应用程序模型”中的“验证”节点可用。该节点定义了应用程序中使用的验证上下文和规则。您可以使用模型编辑器添加规则并指定上下文。

  • 调用MySolution.Module项目的模型编辑器。导航到验证| 规则节点。它已经包含定义要检查规则的子节点。例如,它可能包含“在代码中实现属性值验证”(XPO)课程中实现的“ Position.Title的RuleRequiredField ”规则。要添加检查特定条件的新规则,请右键单击“规则”节点,然后选择“添加...”。RuleCriteria。

    Tutorial_UIC_Lesson14_1

    注意

    验证规则”主题中提供了所有可用规则类型的描述。

  • 对于新创建的节点,将TargetType设置为“ MySolution.Module.BusinessObjects.DemoTask”,并将Criteria属性设置为“ Status!='NotStarted'”。将ID属性设置为“ TaskIsNotStarted”,将TargetContextIDs设置为“ MarkCompleted”,并将CustomMessageTemplate设置为“由于任务尚未启动,因此无法将其设置为已完成”。

    Tutorial_UIC_Lesson14_2

    注意

    标准的属性值必须使用指定的标准语言的语法。为了简化此任务,您可以通过单击“条件”值右侧的省略号按钮()来调用“过滤器生成器”对话框。在此对话框中,您可以直观地设计条件表达式。省略号按钮

  • TargetContextIDs属性设置为“MarkCompleted”。这意味着在执行其ValidationContexts属性设置为“ MarkCompleted”的操作时,将检查该规则。因此,将标记完成的操作的ValidationContexts属性(在ActionDesign | Actions | Task.MarkCompleted节点中)设置为“ MarkCompleted”。

    Tutorial_UIC_Lesson14_2_1

    注意

    您还可以使用默认情况下可用的“保存”或“删除”上下文。分别保存或删除对象时,将验证具有这些上下文的规则(请参见“验证规则”)。

  • 运行WinForms或ASP.NET应用程序。将“未启动”值分配给现有DemoTask对象之一的Status属性。单击“标记完成”按钮。将显示以下“验证错误”对话框。

    Tutorial_UIC_Lesson14_4

注意

通常,您可以将所需的规则添加到代码中的类或属性(请参阅在代码中实现属性值验证EF \ XPO))。当无法访问类源时,上面定义的方法很有用。

您可以在“模型编辑器”中看到本课程中所做的更改,该模型编辑器针对“主演示” | “模型”中的Model.DesignedDiffs.xafml文件而调用。MainDemo.Module项目。该MainDemo应用程序安装在%PUBLIC%\文件\ DevExpress的演示19.2 \组件\ eXpressApp框架\ MainDemo默认。可从http://demos.devexpress.com/XAF/MainDemo/在线获得ASP.NET版本。

下一课: 自定义查看项目的布局

相关文章

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