校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > .NET驗證組件Fluent Validation使用指南

.NET驗證組件Fluent Validation使用指南

熱門標簽:關(guān)于宗地圖標注技術(shù)規(guī)范 河北網(wǎng)絡(luò)回撥外呼系統(tǒng) 400免費電話怎么辦理 威海電銷 外呼電銷機器人軟件 400電話辦理最優(yōu)質(zhì) t3出行地圖標注怎么做 寧夏機器人電銷 河南語音外呼系統(tǒng)公司

認識Fluent Vaidation.

  看到NopCommerce項目中用到這個組建是如此的簡單,將數(shù)據(jù)驗證從業(yè)務(wù)實體類中分離出來,真是一個天才的想法,后來才知道這個東西是一個開源的輕量級驗證組建。
 
  Fluent Validation 翻譯為:流暢驗證
 
  開源Codeplex其主頁簡介:該組件是一個輕量級的.NET類庫,使用流暢的接口定義和lambda表達式為構(gòu)建一個業(yè)務(wù)類的驗證規(guī)則(A small validation library for .NET that uses a fluent interface and lambda expression for building validation rules for you business objects.)
 
  這個類庫不僅僅可以使用的asp.net mvc項目中,普通的類庫中也可以使用,當然在asp.net form項目中也支持。

怎么使用:  
  是不是好用,還要看使用時是否真的像其官網(wǎng)建議描述一樣。我比較喜歡其官網(wǎng)上的例子,一眼就能看出用法上的感覺,絕對是如其名,流暢,這個也一種解釋型語言常見的的一種用法,無限的對一個類型支持無限度個屬性擴展。

業(yè)務(wù)實體類:
 

復(fù)制代碼 代碼如下:

 public class Person
 {
     public string NameField;
     public int Id { get; set; }
     public string Surname { get; set; }
     public string Forename { get; set; }
     public ListPerson> Children { get; set; }
     public string[] NickNames { get; set; }
     public DateTime DateOfBirth { get; set; }
     public int? NullableInt { get; set; }
     public Person()
     {
         Children = new ListPerson>();
         Orders = new ListOrder>();
     }
     public int CalculateSalary()
     {
         return 20;
     }
     public Address Address { get; set; }
     public IListOrder> Orders { get; set; }
     public string Email { get; set; }
     public decimal Discount { get; set; }
     public double Age { get; set; }
     public int AnotherInt { get; set; }
     public string CreditCard { get; set; }
     public int? OtherNullableInt { get; set; }
 }
 public interface IAddress
 {
     string Line1 { get; set; }
     string Line2 { get; set; }
     string Town { get; set; }
     string County { get; set; }
     string Postcode { get; set; }
     Country Country { get; set; }
 }
 public class Address : IAddress
 {
     public string Line1 { get; set; }
     public string Line2 { get; set; }
     public string Town { get; set; }
     public string County { get; set; }
     public string Postcode { get; set; }
     public Country Country { get; set; }
     public int Id { get; set; }
 }
 public class Country
 {
     public string Name { get; set; }
 }
 public interface IOrder
 {
     decimal Amount { get; }
 }
 public class Order : IOrder
 {
     public string ProductName { get; set; }
     public decimal Amount { get; set; }
 }

對Person的指定驗證規(guī)則:  
 

復(fù)制代碼 代碼如下:

 using FluentValidation;
 public class CustomerValidator: AbstractValidatorCustomer>
 {
   public CustomerValidator()
   {
     RuleFor(customer => customer.Surname).NotEmpty();
     RuleFor(customer => customer.Forename).NotEmpty().WithMessage("Please specify a first name");
     RuleFor(customer => customer.Discount).NotEqual(0).When(customer => customer.HasDiscount);
     RuleFor(customer => customer.Address).Length(20, 250);
     RuleFor(customer => customer.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode");
   }
   private bool BeAValidPostcode(string postcode)
   {
     // custom postcode validating logic goes here
   }
 }
 // 手動驗證規(guī)則
 Customer customer = new Customer();
 CustomerValidator validator = new CustomerValidator();
 ValidationResult results = validator.Validate(customer);
 bool validationSucceeded = results.IsValid;
 IListValidationFailure> failures = results.Errors;

Flent validation怎么與asp.net mvc驗證庫整合?
  如果在asp.net mvc中現(xiàn)實中這么用,可能會有很多人不會知道他,我們知道Asp.net MVC項目中有自己的驗證機構(gòu)[企業(yè)庫VAB(Validation Application Block),基于Attribute聲明式驗證],其使用方法,也被我們都一直很認可,但其也有很多不夠靈活的,但Fluent Validation確實更靈活一點。使用起來多變性,流暢,而且驗證規(guī)則是一個單獨的類,是和業(yè)務(wù)實體對象分類的,我們不需要翔VAB一樣,需要在業(yè)務(wù)實體類上使用Attribute注冊驗證規(guī)則。
 
  既然其不是ASP.NET MVC的默認驗證規(guī)則類庫,我們就需要注冊到ASP.NET MVC的驗證規(guī)則庫中。
 

復(fù)制代碼 代碼如下:

 // 在Global.asax.cs中的Applicaton_Start()函數(shù)中注冊為asp.net mvc默認的驗證規(guī)則庫。
 // fluent validation
 FluentValidationModelValidatorProvider provider = new FluentValidationModelValidatorProvider(new AttributedValidatorFactory());
 ModelValidatorProviders.Providers.Add(provider);
 DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;

注意:
  1,)作為Fluent Validation驗證規(guī)則類須繼承AbstractValidatorT>;
 
  2,)我們也可以仿照NopCommerce的處理方法,對AttributeValidatorFactory類的Validator(Type type)函數(shù)重寫,在特殊的業(yè)務(wù)環(huán)境下支持其他驗證規(guī)則。

本文適合對.net以及MVC有所了解的讀者,這里拋磚引玉,獻丑了

您可能感興趣的文章:
  • jquery validation插件表單驗證的一個例子
  • Jquery Validation插件防止重復(fù)提交表單的解決方法
  • jQuery Validation插件remote驗證方式的Bug解決
  • JQuery的Validation插件中Remote驗證的中文問題
  • jQuery Validation實例代碼 讓驗證變得如此容易
  • ASP.NET jQuery 實例11 通過使用jQuery validation插件簡單實現(xiàn)用戶登錄頁面驗證功能
  • ASP.NET jQuery 實例12 通過使用jQuery validation插件簡單實現(xiàn)用戶注冊頁面驗證功能
  • ASP.NET jQuery 實例17 通過使用jQuery validation插件校驗ListBox
  • ASP.NET jQuery 實例18 通過使用jQuery validation插件校驗DropDownList
  • 修改jQuery Validation里默認的驗證方法
  • ASP.NET中實現(xiàn)jQuery Validation-Engine的Ajax驗證
  • jquery validation驗證身份證號,護照,電話號碼,email(實例代碼)
  • jQuery驗證插件validation使用指南
  • jquery Validation表單驗證使用詳解
  • jquery插件validation實現(xiàn)驗證身份證號等
  • 支持ASP.NET MVC、WebFroM的表單驗證框架ValidationSuar使用介紹
  • 表單驗證插件Validation應(yīng)用的實例講解

標簽:廣元 固原 樂山 咸寧 池州 賀州 淮北 吉林

巨人網(wǎng)絡(luò)通訊聲明:本文標題《.NET驗證組件Fluent Validation使用指南》,本文關(guān)鍵詞  .NET,驗證,組件,Fluent,Validation,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.NET驗證組件Fluent Validation使用指南》相關(guān)的同類信息!
  • 本頁收集關(guān)于.NET驗證組件Fluent Validation使用指南的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久久久九九视频| 一区二区三国产精华液| 麻豆国产欧美日韩综合精品二区| 欧美在线视频你懂得| 玉足女爽爽91| 欧美老女人在线| 欧美a一区二区| 精品成人一区二区三区四区| 国产乱码一区二区三区| 中文字幕一区二区三区色视频| 色噜噜狠狠一区二区三区果冻| 亚洲综合小说图片| 欧美一区二区三区影视| 国产一区二区视频在线| 国产精品欧美一级免费| 精品视频免费看| 国产一区二三区好的| 亚洲欧美在线视频| 欧美高清视频www夜色资源网| 久久精品国产精品亚洲红杏| 久久一日本道色综合| 在线观看中文字幕不卡| 久久se精品一区精品二区| 国产精品私房写真福利视频| 欧美曰成人黄网| 国产精品一区二区黑丝| 夜夜爽夜夜爽精品视频| 欧美va在线播放| 91小视频在线免费看| 免费成人在线观看| 亚洲视频免费看| 日韩欧美专区在线| 99久久伊人精品| 久久99精品久久久久久国产越南| 亚洲欧洲精品天堂一级 | 欧美性生活影院| 国产精品88888| 亚洲aⅴ怡春院| 国产精品国产三级国产普通话99 | 不卡在线视频中文字幕| 图片区小说区国产精品视频| 国产色产综合色产在线视频| 欧美日本国产视频| 99在线精品观看| 国产麻豆精品视频| 欧美bbbbb| 午夜精品免费在线| 亚洲精品水蜜桃| 中文字幕免费观看一区| 精品久久久三级丝袜| 欧美色图一区二区三区| av一本久道久久综合久久鬼色| 麻豆精品视频在线观看免费| 亚洲综合激情另类小说区| 中文欧美字幕免费| 欧美精品一区二区三区一线天视频| 欧洲人成人精品| 色偷偷久久一区二区三区| 成人午夜激情在线| 国产一区999| 国产一区二区免费看| 久草在线在线精品观看| 蜜臀久久99精品久久久久久9 | 最新国产の精品合集bt伙计| 精品国产伦一区二区三区观看方式 | 国产精品国产成人国产三级| 久久免费视频一区| 欧美成人女星排名| 欧美r级电影在线观看| 91精品国产综合久久久久久久久久| 色婷婷精品久久二区二区蜜臀av | 国产呦精品一区二区三区网站 | 国产在线麻豆精品观看| 99re成人在线| 国产综合成人久久大片91| 奇米影视一区二区三区小说| 午夜精品在线视频一区| 视频在线观看国产精品| 日本美女一区二区三区视频| 五月激情丁香一区二区三区| 亚洲国产综合在线| 日韩av不卡在线观看| 欧美aaa在线| 国产一区亚洲一区| 高清不卡一二三区| 99久久精品免费精品国产| 91亚洲国产成人精品一区二三| 97精品国产97久久久久久久久久久久| 不卡的av中国片| 色欧美片视频在线观看 | 在线日韩一区二区| 欧美色图激情小说| 欧美肥妇毛茸茸| 精品欧美一区二区三区精品久久| 欧美变态凌虐bdsm| 国产日韩v精品一区二区| 成人网页在线观看| 日本aⅴ亚洲精品中文乱码| 久久久久久久久久美女| 国产日韩欧美精品在线| 亚洲天堂精品视频| 日本在线观看不卡视频| 国产一区二区精品在线观看| 99久久伊人精品| 欧美精品色一区二区三区| 久久夜色精品一区| 亚洲视频一二区| 麻豆精品在线观看| 99久久国产综合精品女不卡| 欧美群妇大交群中文字幕| 日韩欧美激情四射| 亚洲欧美日韩中文字幕一区二区三区| 亚洲国产日韩综合久久精品| 国模一区二区三区白浆| 99国产精品久| 欧美成人免费网站| 亚洲理论在线观看| 国产乱理伦片在线观看夜一区| 91蝌蚪porny九色| 欧美xxxx老人做受| 一区二区三区国产豹纹内裤在线 | 中文字幕日韩精品一区| 婷婷综合另类小说色区| 国产制服丝袜一区| 欧美国产日本韩| 日本人妖一区二区| 国产精品亚洲人在线观看| 色婷婷av一区| 久久久久97国产精华液好用吗| 亚洲午夜精品在线| 国产成人av电影在线观看| 欧美理论电影在线| 亚洲欧美激情一区二区| 国产精品资源在线看| 欧美日韩在线直播| 日韩一区在线免费观看| 国产一区视频网站| 欧美一级日韩不卡播放免费| 亚洲另类在线制服丝袜| 成人激情免费视频| 久久亚洲精华国产精华液| 亚洲成人精品影院| 91丨porny丨国产| 欧美国产日韩亚洲一区| 激情综合网天天干| 91精品国产一区二区| 亚洲一区在线免费观看| 99精品欧美一区| 欧美国产一区在线| 国产成人在线视频播放| 欧美mv和日韩mv国产网站| 视频一区免费在线观看| 欧美性三三影院| 亚洲乱码国产乱码精品精98午夜| 成人激情电影免费在线观看| 国产精品白丝av| 欧美精品18+| 亚洲成人手机在线| 一本久久a久久精品亚洲| 国产精品乱人伦一区二区| 国产成人免费在线视频| 欧美不卡激情三级在线观看| 蜜桃视频一区二区三区| 日韩一级成人av| 毛片av中文字幕一区二区| 91超碰这里只有精品国产| 亚洲国产三级在线| 欧美日韩一二区| 日韩高清一区二区| 日韩视频在线你懂得| 激情偷乱视频一区二区三区| 日韩欧美黄色影院| 国产在线看一区| 国产喷白浆一区二区三区| 成人夜色视频网站在线观看| 国产精品久久毛片av大全日韩| 成人看片黄a免费看在线| 亚洲天堂网中文字| 在线一区二区视频| 五月开心婷婷久久| 欧美成人免费网站| 成人一级片在线观看| 亚洲六月丁香色婷婷综合久久| 日本久久精品电影| 欧美无人高清视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 97久久人人超碰| 亚洲国产日韩a在线播放| 91精品国产综合久久久久久漫画| 久热成人在线视频| 国产精品久久久久影院亚瑟| 欧美亚洲综合网| 麻豆国产精品视频| 综合久久久久综合| 337p亚洲精品色噜噜| 国产麻豆视频一区二区| 亚洲视频1区2区| 日韩一区二区三区免费看| 国产高清在线观看免费不卡| 亚洲精品视频在线观看免费|