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中的浏览器缓存
推荐文章
站长推荐
热点阅读