Nuget 安装包:FluentValidation.AspNetCore
依赖注入:
builder.Services.AddFluentValidation(opt=>{
opt.RegisterValidatorsFromAssembly(Assembly.GetExecutingAssembly());
});
FluentValidation 符合开发的单一职责标准。.
使用方式:创建一个类 继承 AbstracValidator<T>
泛型类,T为需要验证的实体类
甚至可以操作数据库,只需要在构造函数中,进行数据的查询和对比
Must() 自定义验证规则
使用RuleFor 对每个字段单独做校验
public class WeChatInfoInsertDtoValidator:AbstractValidator<WeChatInfoInsertDto>
{
// 可以直接在这个构造函数注入数据库上下文
public WeChatInfoInsertDtoValidator()
{
//对每个字段进行单独校验
RuleFor(it=>it.Appid)
.NotNull().WithMessage("AppId不能为空")
.Must(v=>v.Contains(" ")).WithMessage("AppId不能包含空格");
RuleFor(it=>it.AppSecret)
.NotNull().WithMessage("AppSeret不能为空格")
.Must(v=>v.Contains(" ")).WithMessage("AppSeret不能包含空格");
RuleFor(it=>it.Code)
.NotNull().WithMessage("编号不能为空")
.Must(v=>v.Contains(" ")).WithMessage("编号不能包含空格");
}
}