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>();
});
测试结果:
我想用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>();
});
测试结果: