.NetCore为所有类型创建默认FluentValidator

时间:2017-08-09 01:57:04

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

我试图拥有.Net核心'依赖注入器为所有创建的新服务类型使用默认验证器。

我的创业公司看起来像这样:

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

您应该可以使用开放式泛型注册,例如本例

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