Asp.net Core添加fluent Validation

2020-01-20  本文已影响0人  早睡使人快乐

nuget文档地址
通过vscode的nuget插件安装FluentValidation AspnetCore 8.6.1版本
这个版本依赖.netCore 3.0或者.netCore 2.0
修改项目的工程文件

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

改为

    <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

同样的修改这个项目所有依赖的targetFramework
(实际过程中,我的API项目是3.0,没有修改其他的项目,不知道为什么也可以使用,求解答)


image.png

在业务逻辑中添加CommandValidator类用于验证

        public class CommandValidator : AbstractValidator<Command>
        {   
            public CommandValidator()
            {
                RuleFor(x => x.Title).NotEmpty();
                RuleFor(x => x.Description).NotEmpty();
                RuleFor(x => x.Category).NotEmpty();
                RuleFor(x => x.Date).NotEmpty();
                RuleFor(x => x.City).NotEmpty();
                RuleFor(x => x.Venue).NotEmpty();
            }
        }

添加构造函数

            services.AddControllers()
            .AddFluentValidation(cfg =>
            {
//注册业务类
                cfg.RegisterValidatorsFromAssemblyContaining<Create>();
            });

在服务中注册

上一篇 下一篇

猜你喜欢

热点阅读