Asp.net Core添加fluent Validation

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>();
            });

在服务中注册

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容