.NET 6使用FluentValidation数据校验功能

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("编号不能包含空格");
        
    }
}