.Net Core 为所有类型创建默认的流畅验证

.NetCore Create Default FluentValidator for all Types

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

我的创业公司是这样的:

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

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

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

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

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

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

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

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