asp.net 核心网络 api 项目如何使用 fluentvalidation 自动验证

asp.net core web api project how to with fluentvalidation auto-validation

我想用fluentvalidation自动校验异常,但是现在做不到。如果我把Validator放在同一个项目中,它会起作用,但是如果我把它放在另一个库中,它就不起作用了。 以下项目一

public class TestValidator : AbstractValidator<WeatherForecast>
{
    public TestValidator()
    {
        RuleFor(x => x.Summary).NotEmpty().WithMessage("Username or email are required");
    }

}

以下项目二

我说注册和验证放在不同的项目,导致验证不正常

services.AddMvc(options =>
    {
        options.Filters.Add(new ExceptionFilter());
    })
    .AddFluentValidation(options =>
    {
        options.RegisterValidatorsFromAssemblyContaining<Startup>();
    });

您需要将启动更改为:

 .AddFluentValidation(options =>
{
    options.RegisterValidatorsFromAssemblyContaining<TestValidator>();
});

测试结果: