asp.net-mvc – FluentValidation Autofac ValidatorFactory
发布时间:2020-05-22 12:23:50 所属栏目: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:HTTP错误500.19 – 内部服务器错误0x8007000d
- asp.net-core – 在Visual Studio CTP2中的ASP.VNext项目中
- 对asp.net网站进行基准测试,我可以使用jmeter吗?
- 如何在ASP.NET MVC中执行图像的Ajax / JQuery上载?
- asp.net – 在开发,分段和生产环境之间区分web.config
- asp.net-mvc-3 – 如何传递Request.QueryString到Url.Actio
- asp.net-mvc – Azure服务总线队列触发器功能在运行一段时间
- asp.net-mvc – 控制器和操作方法之间丢失的会话变量
- asp.net-mvc – 无法加载文件或程序集Oracle.DataAccess
- asp.net-mvc-3 – 大于或等于今天日期验证注释在MVC3
推荐文章
站长推荐
- asp.net – 从Application_BeginRequest()中设置
- asp.net – Javascript:为什么如果(假)?
- asp.net – 如果在Application_Start中抛出未处理
- asp.net-mvc – 单选按钮如何与asp.net mvc绑定一
- asp.net-mvc – Unity PerRequestLifetimeManage
- asp.net – 我可以在一个Web项目中拥有多个web.c
- asp.net – 如何向DropDownList添加初始“select
- asp.net-mvc-3 – 当HTTP响应状态设置为400时,II
- asp.net-mvc – 重定向页面的TempData?
- asp.net-mvc – Web项目需要使用Razor语法3.0.0.
热点阅读
