【问题标题】:Base Class Validations are not getting triggered with Fluent Validation in Asp.Net Core 3.0Asp.Net Core 3.0 中的流利验证不会触发基类验证
【发布时间】:2020-03-03 14:17:54
【问题描述】:

我在我的 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>

请您帮忙解释为什么这不适用于基类?我做错了吗?

【问题讨论】:

标签: c# razor-pages fluentvalidation asp.net-core-3.0


【解决方案1】:

这就是我如何做到这一点的。我创建了一个单独的BranchEditViewModelValidator,然后从中调用了Include(new BranchViewModelValidator())

public class BranchEditViewModelValidator : AbstractValidator<BranchEditViewModel>
{
    public BranchEditViewModelValidator()
    {
        Include(new BranchViewModelValidator());
    }
}

【讨论】:

    猜你喜欢
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多