Asp.Net Core 3.0中的Fluent验证不会触发基类验证

我在Asp.Net Core 3.0 Razor Pages项目中使用的是FluentValidation版本:8.5.1。

我有一个从基类派生的类,如下所示:

public class BranchEditViewModel : BranchViewModel
{
    public Guid Id { get; set; }
    public bool active { get; set; }
}

我正在尝试通过更新方法验证派生类,如下所示:

public async Task<IactionResult> OnPutAsync([FromForm] BranchEditViewModel model)

但是由于某些原因,这不起作用。验证没有被调用。

如下所示,当我为基类创建AbstractValidator时,不会调用验证程序。

public class BranchViewModelValidator : AbstractValidator<BranchViewModel>

但是如果我为我的派生类创建AbstractValidator,如下所示,则验证器将被调用。

public class BranchViewModelValidator : AbstractValidator<BranchEditViewModel>

请协助您解决为什么这不适用于基类吗?我在做错什么吗?

coollang12345 回答:Asp.Net Core 3.0中的Fluent验证不会触发基类验证

这是我如何使它工作的。我创建了一个单独的BranchEditViewModelValidator,然后从中调用了Include(new BranchViewModelValidator())

public class BranchEditViewModelValidator : AbstractValidator<BranchEditViewModel>
{
    public BranchEditViewModelValidator()
    {
        Include(new BranchViewModelValidator());
    }
}
本文链接:https://www.f2er.com/3147791.html

大家都在问