如何使用FluentValidation.AspNetCore和FluentValidation.MVC6?

Mta*_*aby 6 fluentvalidation asp.net-core

如何使用FluentValidation.AspNetCore和FluentValidation.MVC6来验证AspNetCore中的实体,有谁可以举个例子?

小智 11

这对我有用:

project.json添加:

"FluentValidation.AspNetCore": "6.4.0-beta3"
Run Code Online (Sandbox Code Playgroud)

startup.cs

services
.AddMvc()
.AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<Startup>());
Run Code Online (Sandbox Code Playgroud)

验证:

public class Foo
{
     public string Bar {get; set;}
}

public class FooValidator : AbstractValidator<Foo> 
{
    public FooValidator()
    { 
        RuleFor(x => x.Bar).NotEmpty().WithMessage("Error Message");
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这可以工作,但是当发生验证错误时,我从API获取FluentValidation创建的对象.我需要创建自定义返回对象并将错误复制到其中.想法?我无法使用异常过滤器以及为.net MVC(非核心)解释的方式在核心中工作(或者我做错了). (3认同)
  • 这适用于.net核心mvc项目,但只有在发布它时才会像之前版本的MVC那样进行任何客户端验证.根据github,我知道这还没有完成,但是我想知道是否有人为客户端的东西工作? (2认同)