(五)XAF应用验证模块.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(五)XAF应用验证模块

XAF应用开发教程(五)验证模块数据验证是应用程序开发中使用频率最高的功能模块,本节详细介绍一下XAF中如何使用验证模块。XAF 验证模块内置了下面的一些验证规则:验证规则类型说明RuleCombinationOfPropertiesIsUnique (RuleCombinationOfPropertiesIsUniqueAttribute)要求多个属性的值组合在一起时是唯一的.RuleCriteria (RuleCriteriaAttribute)要求满足指定的条件. 如:座机或手机必须填写一个。 条件为:坐机 is not null or 手机 is not nullRuleFromBoolProperty (RuleFromBoolPropertyAttribute)要求指定的boolean类型的属性的值必须为真.比如注册用户时必须选中同意一系列的条款。RuleIsReferenced (RuleIsReferencedAttribute)要求必须被引用的.RuleObjectExists (RuleObjectExistsAttribute)要求对象是必须存在的.RuleRange (RuleRangeAttribute)要求值必须在一定的范围内.RuleRegularExpression (RuleRegularExpressionAttribute)要求输入的值必须是满足正则表达式的.RuleRequiredField (RuleRequiredFieldAttribute)要求值是必填写的.RuleStringComparison (RuleStringComparisonAttribute)要求字符串必须符合某种比较的条件.RuleValueComparison (RuleValueComparisonAttribute)要求值必须是符合某种比较条件.RuleUniqueValue (RuleUniqueValueAttribute)要求值必须是唯一的.?为了更直观的理解,我们先上一个效果图。从必填验证说起:如上图所示,在按下了保存、保存关闭、保存新建按钮之后,会出现一个错误提示信息。同时,在姓名文本框前面会出现一个红色报错的图标。这个效是怎么实现的呢? public class 客户........{....................privatestring _姓名;[RuleRequiredField(CustomMessageTemplate =请填写姓名!)]publicstring 姓名 {get { return _姓名; }set { SetPropertyValue(姓名, ref _姓名, value); } }...................我在前面使用的项目中,打开了客户.cs文件,并在客户类的姓名属性上增加了一行[RuleRequiredField(CustomMessageTemplate =请填写姓名!)]是的只需要这样一行就可以了。这样,XAF为我们生成了一条验证规则,规则的名称是自动指定的,一系列相关的也都用了默认值,我们修改一下代码,指定下名称:[RuleRequiredField(客户姓名必填, DefaultContexts.Save,CustomMessageTemplate =请填写姓名!)]第一个参数为规则的名称,DefaultContexts.Save是指在保存这个上下文时才执行验证。编译后,打开xafml文件,可以看到这么规则的所有信息:按照左侧红框中的路径,最终点击结点“客户姓名必填”后,右侧出现了此规则的详细信息,其中格式这一分组内的设置都是显示消息类的。可以进行一下汉化。带有地球图标的,都是需要本地化的属性。行为一栏中:InvertResult:反转结果,当设置为True时,即验证的结果如果是没通过,则认为通过,即是否通过的结果取反,这个选项在必填验证是没什么用的,我们不可能做一个验证规则要实现某些属性必须不能填值的。ResultType:Error,Warning,Information三种,其中:Error:当不满足验证规则时,报个错误出来,并且不能继续操作程序。上面演示的验证规则就是这样效果了。Warning:当不满足验证规则时,显示一个警告信息,确认后,继续程序运行。比如:客户信息中有个地址属性,当然我们是希望填写地址的,如果不填写,有市场活动举行时,我们有一些礼品就没办法寄送给客户。此时,我们可以增加一条这样的规则,但如果确定得不到地址,也只能不填写了,但要提示操作人员。按下保存时,可以看到地址文本框前面出现了一个黄色感叹号图标。在错误信息提示的位置,出现了一个checkbox,文字是Ignore warn

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档