鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > .net技术 > c#编程 > >

脱离MVC的实体验证

来源:互联网 作者:佚名 时间:2013-01-06 12:47
MVC对模型验证提供了良好的支持。脱离了MVC框架又如何实现验证。做一下总结。 1.基于MVC DataAnnotations 2. FluentValidation 废话不多说,FluentValidation和Autofac整合 首先是Model和Validator public static IContainer container;[ClassInitialize()]

MVC对模型验证提供了良好的支持。脱离了MVC框架又如何实现验证。做一下总结。

1.基于MVC DataAnnotations

 

 

2. FluentValidation

废话不多说,FluentValidation和Autofac整合

 

首先是Model和Validator

public static IContainer container; [ClassInitialize()] MyClassInitialize(TestContext testContext) { var builder = new ContainerBuilder(); builder.RegisterType<Customer>(); var typeFinder = new WebAppTypeFinder(); var validators = typeFinder.FindClassesOfType(typeof(IValidator<>)).ToList(); var TValidator = typeof(IValidator<>); foreach (var validator in validators) { if (validator.IsGenericType) { continue; } //第一种 //var type = validator.BaseType.GetGenericArguments()[0]; //builder.RegisterType(type); //builder.RegisterType(validator).As(TValidator.MakeGenericType(type)).SingleInstance(); //第二种 builder.RegisterType(validator) .As(validator.FindInterfaces((type, criteria) => { var isMatch = type.IsGenericType && ((Type)criteria).IsAssignableFrom(type.GetGenericTypeDefinition()); return isMatch; }, typeof(IValidator<>))) .SingleInstance(); } container = builder.Build(); }香港虚拟主机香港服务器香港虚拟主机

网友评论
<