亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

XAF實現運行時填加驗證規則并保存到數據庫中

2019-11-14 13:29:40
字體:
來源:轉載
供稿:網友

 

幾種方法可以用來聲明一個驗證規則。最常用的方法是使用對應的Attribute來定義。詳見這里。驗證模塊還允許通過業務實現 IRuleSource 接口定義自定義驗證規則的來。
IRuleSource 接口公開兩個成員名稱屬性返回自定義驗證規則唯一名稱。CreateRules 方法實例化自定義驗證規則。
一個場景可能需要實現自定義驗證規則來執行驗證規則存儲數據庫。可以使用種方法,需要頻繁地自定義驗證規則已部署應用程序中不能重新部署應用程序自定義應用程序模型。
下面示例闡釋了方案。
 

示例的 RuleRequiredFieldPersistent 一個普通業務。實現 IRuleSource 接口,用于創建存儲數據庫的 RuleRequiredField 驗證規則。 CreateRules 方法實例化一個 RuleRequiredField 驗證規則基于 RuleRequiredFieldPersistent 公共屬性。RuleRequiredFieldPersistent 標記 DefaultClassOptionsAttribute以便最終用戶可以手動創建驗證規則通過相應列表視圖。

 

[DefaultClassOptions]public class RuleRequiredFieldPersistent : BaSEObject,     DevExPRess.Persistent.Validation.IRuleSource {    public RuleRequiredFieldPersistent(session session) : base(session) { }    public string RuleName {        get { return GetPropertyValue<string>("RuleName"); }        set { SetPropertyValue("RuleName", value); }    }    public string CustomMessageTemplate {        get { return GetPropertyValue<string>("CustomMessageTemplate"); }        set { SetPropertyValue("CustomMessageTemplate", value); }    }    public bool SkipNullOrEmptyValues {        get { return GetPropertyValue<bool>("SkipNullOrEmptyValues"); }        set { SetPropertyValue("SkipNullOrEmptyValues", value); }    }    public string Id {        get { return GetPropertyValue<string>("Id"); }        set { SetPropertyValue("Id", value); }    }    public bool InvertResult {        get { return GetPropertyValue<bool>("InvertResult"); }        set { SetPropertyValue("InvertResult", value); }    }    public string ContextIDs {        get { return GetPropertyValue<string>("ContextIDs"); }        set { SetPropertyValue("ContextIDs", value); }    }    public string Property {        get { return GetPropertyValue<string>("Property"); }        set { SetPropertyValue("Property", value); }    }    [Persistent("ObjectType")]    protected string ObjectType {        get {            if(ObjectTypeCore != null) {                return ObjectTypeCore.FullName;            }            return "";        }        set { ObjectTypeCore = ReflectionHelper.FindType(value); }    }    [NonPersistent]    [TypeConverter(typeof(DevExpress.Persistent.Base.LocalizedClassInfoTypeConverter))]    public Type ObjectTypeCore {        get { return GetPropertyValue<Type>("ObjectTypeCore"); }        set { SetPropertyValue("ObjectTypeCore", value); }    }    #region IRuleSource Members    public System.Collections.Generic.ICollection<IRule> CreateRules() {        System.Collections.Generic.List<IRule> list = new System.Collections.Generic.List<IRule>();        RuleRequiredField rule = new RuleRequiredField();        rule.Properties.SkipNullOrEmptyValues = this.SkipNullOrEmptyValues;        rule.Properties.Id = this.Id;        rule.Properties.InvertResult = this.InvertResult;        rule.Properties.CustomMessageTemplate = this.CustomMessageTemplate;        rule.Properties.TargetContextIDs = new ContextIdentifiers(this.ContextIDs);        rule.Properties.TargetType = this.ObjectTypeCore;        if(rule.Properties.TargetType != null) {            foreach(PropertyInfo pi in rule.Properties.TargetType.GetProperties()) {                if(pi.Name == this.Property) {                    rule.Properties.TargetPropertyName = pi.Name;                }            }        }        for(int i = Validator.RuleSet.RegisteredRules.Count - 1; i >= 0; i--) {            if(Validator.RuleSet.RegisteredRules[i].Id == this.Id) {                Validator.RuleSet.RegisteredRules.RemoveAt(i);            }        }        list.Add(rule);        return list;    }    [Browsable(false)]    public string Name {        get { return this.RuleName; }    }    #endregion}

可以看到,這個示例中,只返回了一個規則,而在實際項目中,可以使用BO定義一個子集合,集合中定義N種規則。

不要定義N個BO并都實現 IRuleSource 那樣有點浪費。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲aⅴ男人的天堂在线观看| 日韩在线视频观看正片免费网站| 少妇高潮 亚洲精品| 国产精品人成电影在线观看| 欧美成人激情在线| 午夜精品久久久99热福利| 亚洲午夜久久久影院| 国产视频综合在线| 欧美日韩一区二区三区在线免费观看| 丁香五六月婷婷久久激情| 国产成人免费91av在线| 欧美在线一区二区视频| 91免费人成网站在线观看18| 国产精品久久久久久久久久尿| 日本久久中文字幕| 国产精品91一区| 91老司机精品视频| 精品成人69xx.xyz| 精品久久久国产| 欧美精品在线免费观看| 精品久久久香蕉免费精品视频| 久久影院资源站| 成人国产精品日本在线| 欧美性猛交xxxx偷拍洗澡| 在线视频日本亚洲性| 98精品在线视频| 91美女福利视频高清| 精品福利在线观看| 国产成人黄色av| 成人免费福利视频| www.亚洲一二| 国产日韩欧美在线视频观看| 一区二区三区回区在观看免费视频| 深夜福利日韩在线看| 久久久久久久av| 亚洲精品aⅴ中文字幕乱码| 亚洲激情小视频| 欧美小视频在线| 欧美日韩亚洲91| 亚洲女人被黑人巨大进入| 中文字幕亚洲自拍| 爽爽爽爽爽爽爽成人免费观看| 色妞色视频一区二区三区四区| 欧美性xxxxx极品| 久久精品电影网站| 亚洲成人a级网| 成人在线一区二区| 97国产一区二区精品久久呦| 日本中文字幕成人| 亚洲视频999| 国产精品欧美日韩久久| 国产不卡一区二区在线播放| 久久中文字幕在线| 欧美精品激情视频| 色偷偷噜噜噜亚洲男人| 欧美日韩亚洲一区二区三区| 欧美乱人伦中文字幕在线| 亚洲影院色无极综合| 九九热这里只有精品免费看| 日韩在线视频网站| 影音先锋欧美在线资源| 97精品国产97久久久久久| 精品偷拍各种wc美女嘘嘘| 美女性感视频久久久| 欧美在线国产精品| 日韩免费不卡av| 久久精品国产亚洲7777| 精品成人国产在线观看男人呻吟| 国产福利视频一区二区| 国产精品极品美女在线观看免费| 91国内精品久久| 亚洲黄色av女优在线观看| 欧美二区乱c黑人| 久久久久久久久久国产| 欧美一性一乱一交一视频| 国产视频精品免费播放| 91精品视频在线播放| 国产欧美va欧美va香蕉在| 欧美视频第一页| 日韩中文字幕在线精品| 另类色图亚洲色图| 亚洲老板91色精品久久| 在线精品高清中文字幕| 欧美综合在线观看| 国产精品一区二区三区在线播放| 亚洲精品久久久久久久久久久| 亚洲精品一区av在线播放| 黑人巨大精品欧美一区二区一视频| 爽爽爽爽爽爽爽成人免费观看| 欧洲美女免费图片一区| 日韩激情av在线免费观看| 久久精品一区中文字幕| 久热精品视频在线观看一区| 一个人www欧美| 国产精品九九九| 日韩激情片免费| 日韩av大片免费看| 国产视频亚洲视频| 国产va免费精品高清在线| 中文日韩电影网站| 久青草国产97香蕉在线视频| 91久久精品国产91久久性色| 欧美激情免费在线| 国产精品网站入口| 亚洲va欧美va国产综合剧情| 国产精品偷伦视频免费观看国产| 国产日韩视频在线观看| 欧美午夜精品久久久久久人妖| 91夜夜未满十八勿入爽爽影院| 欧美在线www| 精品亚洲一区二区| 欧美性生交xxxxx久久久| 欧美日韩精品中文字幕| 日韩中文字在线| 中文字幕亚洲第一| 国产日韩中文在线| 日韩在线视频网| 久久福利网址导航| 久久久精品视频成人| 最近更新的2019中文字幕| 久久久久久久久久久91| 亚洲精品影视在线观看| 欧美激情影音先锋| 91网在线免费观看| 亚洲一区二区三区成人在线视频精品| 日韩av影院在线观看| 国模精品视频一区二区| 欧美激情高清视频| 国产日韩在线亚洲字幕中文| 538国产精品一区二区免费视频| 国产在线精品自拍| 97国产suv精品一区二区62| 精品国产电影一区| 欧美激情视频播放| 成人激情免费在线| 亚洲欧洲日产国码av系列天堂| 亚洲国产天堂网精品网站| 国产精品中文字幕在线| 91视频免费网站| 91精品久久久久久久| 91高清视频在线免费观看| 国产精品入口免费视| 91精品国产综合久久男男| 97视频在线观看亚洲| 久久久久久网站| 欧美电影电视剧在线观看| 亚洲国产婷婷香蕉久久久久久| 国产日本欧美在线观看| 欧美电影免费播放| 国产一区二区丝袜高跟鞋图片| 欧美成人激情图片网| 91免费高清视频| 91老司机精品视频| 欧美精品久久久久久久| 91视频免费网站| 成人国产精品日本在线| 国产丝袜一区二区| 国产精品久久久久久av| 国产精品扒开腿做爽爽爽视频| 精品国产一区二区三区久久久狼| 中文字幕日韩欧美在线视频| 欧美日韩国产页| 亚洲一区二区三区777| 国产成人97精品免费看片|