首页 > 解决方案 > asp.net core web api项目如何使用fluentvalidation自动验证

问题描述

我想使用 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>();
    });

标签: asp.net-corefluentvalidation

解决方案


您需要将您的启动更改为:

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

测试结果:

在此处输入图像描述


推荐阅读