流利的验证验证组件怎么在。net项目中使用

介绍

本篇文章给大家分享的是有关流利验证验证组件怎么在。净项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<>强认识Vaidation流利。

看到NopCommerce项目中用到这个组建是如此的简单,将数据验证从业务实体类中分离出来,真是一个天才的想法,后来才知道这个东西是一个开源的轻量级验证组建。
,
流利验证翻译为:流畅验证
,
开源Codeplex上其主页简介:该组件是一个轻量级的。净类库,使用流畅的接口定义和λ表达式为构建一个业务类的验证规则(一个小验证库。NET使用连贯接口和lambda表达式构建验证规则对你业务对象)。
,
这个类库不仅仅可以使用的asp.net mvc项目中,普通的类库中也可以使用,当然在asp.net表单项目中也支持。

<强>怎么使用:
是不是好用,还要看使用时是否真的像其官网建议描述一样。我比较喜欢其官网上的例子,一眼就能看出用法上的感觉,绝对是如其名,流畅,这个也一种解释型语言常见的的一种用法,无限的对一个类型支持无限度个属性扩展。

<>强业务实体类:
,

代码如下:


,
公共类人,{
,,,,公共字符串NameField;
,,,,公共int Id{得到;设置;}
,,,,公共字符串姓{得到;设置;}
,,,,公共字符串在姓前面{得到;设置;}
,,,,公共List孩子{得到;设置;}
,,,,公共string[]昵称{得到;设置;}
,,,,公共DateTime DateOfBirth{得到;设置;}
,,,,公共int ?NullableInt{得到;设置;}
,,,,公众人物()
,,,,{
,,,,,,,,孩子=new List ();
,,,,,,,,订单=new List ();
,,,,}
,,,,公共int CalculateSalary ()
,,,,{
,,,,,,,,返回20;
,,,,}
,,,,公共地址地址{得到;设置;}
,,,,公共IList订单{得到;设置;}
,,,,公共字符串邮件{得到;设置;}
,,,,公共十进制折扣{得到;设置;}
,,,,公共双年龄{;设置;}
,,,,公共int AnotherInt{得到;设置;}
,,,,公共字符串CreditCard{得到;设置;}
,,,,公共int ?OtherNullableInt{得到;设置;}
,}
,公共接口IAddress
, {
,,,,字符串Line1{得到;设置;}
,,,,字符串么{得到;设置;}
,,,,字符串镇{得到;设置;}
,,,,字符串县{得到;设置;}
,,,,字符串邮编{得到;设置;}
,,,,国家国家{得到;设置;}
,}
,公共类地址:IAddress
, {
,,,,公共字符串Line1{得到;设置;}
,,,,公共字符串么{得到;设置;}
,,,,公共字符串镇{得到;设置;}
,,,,公共字符串县{得到;设置;}
,,,,公共字符串邮编{得到;设置;}
,,,,公共国家国家{得到;设置;}
,,,,公共int Id{得到;设置;}
,}
,
公共类国家,{
,,,,公共字符串名称{;设置;}
,}
,公共接口IOrder
, {
,,,,小数金额{得到;}
,}
,公开课:IOrder
, {
,,,,公共字符串ProductName{得到;设置;}
,,,,公共小数金额{得到;设置;}
,}

<强>对人的指定验证规则:
,

代码如下:


,使用FluentValidation;
,公共类CustomerValidator: AbstractValidator
, {
,,公共CustomerValidator ()
,,{
,,,,RuleFor(客户=比;customer.Surname) .NotEmpty ();
,,,,RuleFor(客户=比;customer.Forename) .NotEmpty () .WithMessage(“请先指定一个name");
,,,,RuleFor(客户=比;customer.Discount) .NotEqual (0)。当(客户=比;customer.HasDiscount);
,,,,RuleFor(客户=比;customer.Address)。长度(250),
,,,,RuleFor(客户=比;customer.Postcode) .Must (BeAValidPostcode) .WithMessage(“请指定一个有效的postcode");
,,}
,,私人bool BeAValidPostcode(字符串邮编)
,,{
,,,,//自定义的邮政编码验证逻辑在这里
,,null

流利的验证验证组件怎么在。net项目中使用