【问题标题】:.NetCore Create Default FluentValidator for all Types.Net Core 为所有类型创建默认 Fluent 验证
【发布时间】:2017-08-09 01:57:04
【问题描述】:

我正在尝试让 .Net Cores 的依赖注入器为所有创建的新服务类型使用默认验证器。

我的创业公司是这样的:

services.AddMvc(config => config.Filters.Add(new AuthorizeFilter(authorizationPolicy)))
      .AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<Startup>());

我的默认验证器如下所示:

public class DefaultValidator<TEntity> : AbstractValidator<TEntity>
{
}

为我创建的每个新服务注册验证器真的很烦人,我想为任何未知的注册类型使用默认验证器。

我知道它可能被视为半危险,但这是出于测试目的,如果它在生产中,我可以让它抛出,所以这不是问题。

如何使用 .Net Core 的依赖注入器注册默认验证器?

【问题讨论】:

  • @Nkosi,谢谢,这应该是完美的我不知道你可以通用注册东西
  • 现在我不完全确定它是否适用于这个框架。我从来没有真正亲自测试过。但是我以前看过这个问题并记得那个帖子。我相信它应该可以工作。
  • 如果您将此作为答案发布,我会接受,这可能是一小部分人在寻找这个,但它可能会在未来有所帮助
  • 好的找到一篇文章证实了ardalis.com/…

标签: c# asp.net-core dependency-injection .net-core fluentvalidation


【解决方案1】:

您应该能够像本例中那样使用开放泛型进行注册

services.AddScoped(typeof(IValidator<>), typeof(DefaultValidator<>));

【讨论】:

    猜你喜欢
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 2018-08-28
    • 1970-01-01
    • 2014-05-14
    • 2022-09-24
    • 1970-01-01
    相关资源
    最近更新 更多