【问题标题】:Blazor FluentValidation how to Inject dependency to AbstractValidatorBlazor FluentValidation 如何将依赖项注入 AbstractValidator
【发布时间】:2023-01-04 23:45:36
【问题描述】:

我正在为当前的 Blazor-Server 项目使用 FluentValidator。

现在我需要注入我的数据库服务类来验证重复和类似的东西。

 public class StockValidator : AbstractValidator<LagertypModel>
{
    private StockOverviewService _stockservice;

    public StockValidator(StockOverviewService stockservice)
    {
        _stockservice = stockservice;
        RuleFor(LagertypModel => LagertypModel.Lagertyp).NotEmpty().MaximumLength(4).Must(Lagertyp => {
            return _stockservice.validateStockTypeCU(Lagertyp).Result;
        });


    }
}

但是当我这样做时,我得到 StockValidator 需要有一个无参数构造函数的错误。

我现在如何注入我的依赖?

【问题讨论】:

    标签: c# dependency-injection blazor fluentvalidation


    【解决方案1】:

    你不应该将你的服务注入流畅的验证.您应该通过服务返回数据并在您的 LagertypModel 中可用,或者创建一个新的 ViewModel 然后对其执行验证,如下所示:

    public class StockValidator : AbstractValidator<LagertypModel>
        {
                RuleFor(LagertypModel => LagertypModel.Lagertyp).NotEmpty().MaximumLength(4);
                RuleFor(LagertypModel => LagertypModel.ValidateStockTypeCUValue).[InsertCriteria];
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-14
      • 2021-01-26
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多