EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

在代码(XPO)中实现属性值验证

本课说明如何为业务类别及其属性设置规则。当最终用户执行指定的操作时,将验证这些规则。本课将指导您实现规则,该规则要求Position.Title属性不能为空。保存Position对象时,将检查此规则。您还将能够看到报告违反规则的用户界面元素。

注意

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

  • 验证功能由验证模块提供。将此模块添加到MySolution.Module项目中。为此,请在“解决方案资源管理器”中显示的MySolution.Module项目中找到Module.csModule.vb)文件。双击该文件以调用模块设计器。在“工具箱”中,导航到DX。19.2:“ XAF模块”部分。将ValidationModule项目从此部分拖到设计器的“必需的模块”面板中。重建您的解决方案。

    Tutorial_BMD_Lesson11_0

    在WinForms应用程序中,添加ValidationWindowsFormsModule。该模块创建的验证错误消息比默认异常消息更具信息性和用户友好性。此外,此模块提供就地验证支持(请参阅IModelValidationContext.AllowInplaceValidation)。要添加此模块,找到WinApplication.csWinApplication.vb中)文件MySolution.Win项目中所显示的解决方案资源管理器中,双击此文件来调用应用程序设计并拖动ValidationWindowsFormsModule工具箱需要的模块 控制板。

    在ASP.NET应用程序中,还可以添加ValidationAspNetModule。此模块提供就地验证支持(请参见IModelValidationContext.AllowInplaceValidation)。若要添加此模块,请在解决方案资源管理器中显示的MySolution.Web项目中找到WebApplication.csWebApplication.vb)文件,双击该文件以调用应用程序设计器,并将ValidationAspNetModule从“工具箱”拖到“必需的模块”面板中。 。

  • RuleRequiredFieldAttribute属性应用于Position类的Title属性。作为参数,指定用于检查规则的上下文(例如,DefaultContexts.Save)。以下代码演示了此属性。

    using DevExpress.Persistent.Validation;
    //...
    [DefaultClassOptions]
    [System.ComponentModel.DefaultProperty(nameof(Title))]
    public class Position : BaseObject {
       //...
       private string title;
       [RuleRequiredField(DefaultContexts.Save)]
       public string Title {
          get { return title; }
          set { SetPropertyValue(nameof(Title), ref title, value); }
       }
    }
    
  • 所述RuleRequiredField属性定义有效性规则确保Position.Title属性具有值,当位置目标被保存。

    运行WinForms或ASP.NET应用程序。单击新建button_new)按钮创建一个新的位置。将“标题”属性保留为空,然后单击“保存”按钮。根据应用程序类型,将显示以下错误消息。

    WinForms应用程序

    Tutorial_BMD_Lesson11_1

    ASP.NET应用程序

    Tutorial_BMD_Lesson11_2_1

    如果单击“保存并关闭”按钮,或执行将对象保存到数据库的其他操作,也会调用此警告消息。

    注意

    您可以使用“验证”工具栏按钮来检查是否存在违反规则的情况,而无需保存当前对象。

  • 在WinForms应用程序中,关闭带有警告消息的窗口,为Title属性设置一个值,然后单击“保存”按钮。在ASP.NET应用程序中,为“标题”属性设置一个值,然后单击“保存”按钮。该对象将成功保存。
注意

验证系统提供了许多规则和上下文。有关详细信息,请参阅“验证规则”主题。有关在代码中应用的规则的信息已加载到应用程序模型中(请参阅“应用程序模型”主题中的“实现属性值验证”)。这使业务应用程序管理员可以通过模型编辑器添加和编辑规则和上下文。

您可以在MySolution.Module |中看到此处演示的代码。业务对象| XAF随附的Main Demo的Contact.csContact.vb)文件。该MainDemo应用程序安装在%PUBLIC%\文件\ DevExpress的演示19.2 \组件\ eXpressApp框架\ MainDemo默认。可从http://demos.devexpress.com/XAF/MainDemo/在线获得ASP.NET版本。

下一课: 添加简单的操作

相关文章

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