介绍
FluentValidation 是一个基于 .NET 开发的验证框架,用于构建强类型验证规则的 .NET 库。开源免费
支持 .Net所有平台 包括.NetFramework和.NetCore.
FluentValidation 组件内提供十几种常用验证器,可扩展性好,支持自定义验证器,支持本地化多语言。
安装
在创建任何验证器之前,您需要在项目中添加对 FluentValidation.dll 的引用。最简单的方法是使用 NuGet 包管理器或 dotnet CLI。
Framework 安装FluentValidation版本
core安装FluentValidation.AspNetCore版本
测试
创建一个用户信息类 包含姓名 性别 年龄
public class UserInformation
{
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set; }
}
创建用户信息验证器
public class UserInformationValidator : AbstractValidator<UserInformation>
{
public UserInformationValidator()
{
RuleFor(o => o.Name).NotEmpty().WithMessage("姓名不能为空").Length(2,20).WithMessage("姓名长度输入错误");
RuleFor(o => o.Sex).NotEmpty().WithMessage("性别输入错误");
RuleFor(o => o.Age).GreaterThanOrEqualTo(0).WithMessage("年龄请输入整数")
.ExclusiveBetween(0, 200).WithMessage("年龄输入错误");
}
}
里面写了三个验证方法,
当姓名为空的时候,提示姓名不能为空
当姓名长度不等于2——20的时候提示姓名长度输入错误
当性别为空的时候体术性别输入错误
年龄只能输入整数且年龄范围在0到200;
测试代码,一共写了两种。
测试一是用户属性全部没有赋值来验证 ;
测试二是验证用户姓名过长;
static void Main(string[] args)
{
UserInformationValidator validationRules = new UserInformationValidator();
//测试1
UserInformation userInformation = new UserInformation();
var result= validationRules.Validate(userInformation);
var errors = string.Join(Environment.NewLine, result.Errors.Select(x => x.ErrorMessage).ToArray());
Console.WriteLine(errors);
//测试2
UserInformation userInformation2 = new UserInformation();
userInformation2.Name = "黑哥聊编程hahahahahahahahahahahahahahah";
userInformation2.Age = 10;
userInformation2.Sex = "男";
var result2 = validationRules.Validate(userInformation2);
var errors2 = string.Join(Environment.NewLine, result2.Errors.Select(x => x.ErrorMessage).ToArray());
Console.WriteLine(errors2);
Console.ReadLine();
}
我们看一下输出结果
结果表明没有问题 。
大家快去下载试试吧!
最后大家如果喜欢我的文章,还麻烦给个关注,我将会持续输出,走过路过不要错过哈,最后希望net生态圈越来越好!