asp.net-mvc – FluentValidation Autofac ValidatorFactory
发布时间:2020-08-16 06:21:18 所属栏目:asp.Net 来源:互联网
导读:我需要能够将IComponentContext提供给我的ValidatorFactory来解析FluentValidation Validators.我有点卡住了. ValidatorFactory public class ValidatorFactory : ValidatorFactoryBase { private readonly IComponentContex
|
我需要能够将IComponentContext提供给我的ValidatorFactory来解析FluentValidation Validators.我有点卡住了. ValidatorFactory public class ValidatorFactory : ValidatorFactoryBase
{
private readonly IComponentContext context;
public ValidatorFactory(IComponentContext context)
{
this.context = context;
}
public override IValidator CreateInstance(Type validatorType)
{
return context.Resolve(validatorType) as IValidator;
}
}
如何提供上下文并注册ValidatorFactory FluentValidation.Mvc.FluentValidationModelValidatorProvider.Configure(x => x.ValidatorFactory = new ValidatorFactory()); 解决方法您可以通过直接使用它来使其通常适用于任何DependencyResolver,而不是将其与Autofac紧密结合:public class ModelValidatorFactory : IValidatorFactory
{
public IValidator GetValidator(Type type)
{
if (type == null)
{
throw new ArgumentNullException("type");
}
return DependencyResolver.Current.GetService(typeof(IValidator<>).MakeGenericType(type)) as IValidator;
}
public IValidator<T> GetValidator<T>()
{
return DependencyResolver.Current.GetService<IValidator<T>>();
}
}
然后,您可以将任何类型的DependencyResolver注册为验证器,作为强类型IValidator< T>它总会最终解决. (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – CopyAllFilesToSingleFolderForPackageDe
- 运行命令(CMD)大全
- asp.net 读取并修改config文件实现代码
- asp.net-mvc – 如何在ASP.NET MVC部分视图中使用匿名列表作
- asp.net-mvc-3 – MVC 3使用RenderPage更改视图中的模型
- asp.net – 当绑定值包含冒号时,如何绑定GridView HyperLin
- ASP.NET Web应用程序的安装
- asp.net-mvc-4 – ASP.NET MVC 4通过ActionLink传递对象变量
- ASP.NET中下载文件的几种实例代码
- 如何利用ASP.net IIS 7.5中的浏览器缓存
推荐文章
站长推荐
热点阅读
