【翻译】eXpressAppFramework QuickStart 业务模型设计(十)——在代码中实现数据验证
2009-11-04 16:40
671 查看
这一讲,你将学到如何给业务对象和他们的属性设置规则。最终用户在执行赋值操作后将验证这些规则。你可以实现必填规则使得Position.Title属性不能为空。此规则将在Position对象保存的时候被验证。你还能够看到打破规则的界面提示。
在此之前,我建议你去读一下之前的课程:
· 【翻译】eXpressAppFramework QuickStart 业务模型设计(二)—— 从业务类库中继承
· 【翻译】eXpressAppFramework QuickStart 业务模型设计(四)—— 实现自定义业务类
· 给你的MySolution.Module项目添Validation模块。为此,在解决方案导航的MySolution.Module项目中找到XXXModule.cs文件。双击。调用Module设计器。在ToolBar中,找到DX: XAF.Modules.vX.X。拖动ValidationModule到设计器的RequiredModules项中。重新生成解决方案。
· 在Position类的Title属性上应用RuleRequiredField特性。第一个参数,制定Rule ID(如"RuleRequiredField for Position.Title");第二个参数,验证规则的上下文(如 DefaultContexts.Save)。如下代码演示此特性:
[DefaultClassOptions]
[System.ComponentModel.DefaultProperty("Title")]
public class Position : BaseObject {
//
private string title;
[RuleRequiredField("RuleRequiredField for Position.Title",DefaultContexts.Save)]
public string Title {
get { return title; }
set { SetPropertyValue("Title", ref title, value); }
}
}· 运行程序(不管是Windows Forms还是ASP.NET)。打开Position明细视图。确保Title属性为空并且点击Save按钮。将显示出如下警告信息:
......Windows Forms应用程序:
......ASP.NET应用程序:
此警告信息将在你点击SaveAndClose按钮或者其他将对象保存到数据库中的行为时出现。
· 关闭此警告信息,给Title属性赋值并且点击Save按钮。对象将被成功保存。
我的话:
这个QuickStart的业务模型设计系列总算的翻译完了。不过单这10篇文章相信大家已经能体会出XAF的强大之处了——编程人员只用写业务对象。我觉得这是一种很好的提高生产力的方式,下面的文章我就会针对XAF的内部框架实现进行分析。这个QuickStart其实还有其他的部分,我就不翻译了,大家可以下载文档自己学习。
在此之前,我建议你去读一下之前的课程:
· 【翻译】eXpressAppFramework QuickStart 业务模型设计(二)—— 从业务类库中继承
· 【翻译】eXpressAppFramework QuickStart 业务模型设计(四)—— 实现自定义业务类
· 给你的MySolution.Module项目添Validation模块。为此,在解决方案导航的MySolution.Module项目中找到XXXModule.cs文件。双击。调用Module设计器。在ToolBar中,找到DX: XAF.Modules.vX.X。拖动ValidationModule到设计器的RequiredModules项中。重新生成解决方案。
· 在Position类的Title属性上应用RuleRequiredField特性。第一个参数,制定Rule ID(如"RuleRequiredField for Position.Title");第二个参数,验证规则的上下文(如 DefaultContexts.Save)。如下代码演示此特性:
[DefaultClassOptions]
[System.ComponentModel.DefaultProperty("Title")]
public class Position : BaseObject {
//
private string title;
[RuleRequiredField("RuleRequiredField for Position.Title",DefaultContexts.Save)]
public string Title {
get { return title; }
set { SetPropertyValue("Title", ref title, value); }
}
}· 运行程序(不管是Windows Forms还是ASP.NET)。打开Position明细视图。确保Title属性为空并且点击Save按钮。将显示出如下警告信息:
......Windows Forms应用程序:
......ASP.NET应用程序:
此警告信息将在你点击SaveAndClose按钮或者其他将对象保存到数据库中的行为时出现。
· 关闭此警告信息,给Title属性赋值并且点击Save按钮。对象将被成功保存。
我的话:
这个QuickStart的业务模型设计系列总算的翻译完了。不过单这10篇文章相信大家已经能体会出XAF的强大之处了——编程人员只用写业务对象。我觉得这是一种很好的提高生产力的方式,下面的文章我就会针对XAF的内部框架实现进行分析。这个QuickStart其实还有其他的部分,我就不翻译了,大家可以下载文档自己学习。
相关文章推荐
- 【翻译】eXpressAppFramework QuickStart 业务模型设计(四)—— 实现自定义业务类
- 【翻译】eXpressAppFramework QuickStart 业务模型设计(九)——实现依赖引用属性
- 【翻译】eXpressAppFramework QuickStart 业务模型设计(五)—— 从业务类库中添加类
- 【翻译】eXpressAppFramework QuickStart 业务模型设计(七)——设置一对多关系
- 【翻译】eXpressAppFramework QuickStart 业务模型设计(六)—— 设置多对多的关系
- 【翻译】eXpressAppFramework QuickStart 业务模型设计(八)——创建对象后初始化属性
- 关系数据库数据模型设计及设计工具PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)
- 多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】
- 多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】
- 从 UML 到数据库,使用 Rational Software Modeler 和 InfoSphere Data Architect 加快数据模型的设计到实现
- AjaxPro.NET框架实现服务端即时数据验证(Asp.net 2.0)(示例代码下载)
- 采用一个自创的"验证框架"实现对数据实体的验证[设计篇]
- AjaxPro.NET框架实现服务端即时数据验证(Asp.net 2.0)(示例代码下载)
- Ajax即时实现服务端数据验证(Asp.net 2.0)(示例代码下载)
- DVB-S多业务数据广播系统的设计与实现
- FrameWork数据权限浅析1之基于手工修改模型实现行级数据安全
- 多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】
- AjaxPro.NET框架实现服务端即时数据验证(Asp.net 2.0)(示例代码下载)