ASP.NET MVC3的验证(Validation)框架
来源:互联网 发布:部门考核数据流程图 编辑:程序博客网 时间:2024/04/28 22:28
在ASP.NET MVC3的验证框架比MVC2要改进不少,下面做下简单的介绍:
Server端验证
自定义Server端的validation属性,需要继承自ValidationAttribute,主要方法就是重载IsValid方法。IsValid的方法有两个;
IsValid(Object value)
IsValid(Object value, ValidationContext validationContext)
第一个是比较常用的方法,即取到当前field的值;第二个比较特殊,它还传送了这个field的上下文,通过这个上下文,可以取到这个class中的其他field,例如:
PropertyInfoproperty = validationContext.ObjectType.GetProperty(“fieldName”);
非常的好用,非常的强大(在MVC2中,只有把属性加在model class上才可以实现password和confirm password之间的比较,如今直接把属性加在cofirm password上就可以实现了^_^)。
Client验证
Client验证主要是个这个field添加验证规则的名称和传递一系列的参数,然后将这个属性添加到前台的html元素中,结合javascript来进行客户端的验证。要自定义Client端的验证规则,需继承IClientValidatable接口。
实现方法:
publicIEnumerable<ModelClientValidationRule>GetClientValidationRules(ModelMetadatametadata,ControllerContext context)
这个方法的返回值是可枚举的ModelClientValidationRule;换言之,这是个获取客户端验证规则的接口,自定义验证规则,需要从ModelClientValidationRule继承派生类。
ModelClientValidationRule有3个重要的property:
- ErrorMessage : String
- ValidationParameters : IDictionary<String, Object>
- ValidationType : String
ErrorMessage不用说了,就是错误消息;
ValidationParameters,是一个hash表,key就是参数的名称,value中存参数的值;
ValidationType,这个东西是和前台的javascript相对应的,.NET MVC3默认用的是jQuery.validation,所以ValidationType的值还需要和其中的验证方法相对应,在自定义验证规则后,还需要在前台添加对应的javascript,将自定义的验证的方法加入了jQuery.validation插件中。
- ASP.NET MVC3的验证(Validation)框架
- ASP.NET MVC3 权限验证
- asp.net mvc3 的数据验证(一)
- asp.net mvc3 的数据验证(一)
- Asp.net MVC输入验证 Validation的用法
- ASP.NET MVC3 技术(六) MVC3 远程验证
- ASP.NET MVC3 技术(六) MVC3 远程验证
- ASP.NET MVC3 技术(六) MVC3 远程验证
- ASP.NET MVC3中Model验证
- asp.net MVC3 model远程验证
- ASP.NET MVC3中Model验证
- ASP.NET MVC3 DropDownList 验证问题
- ASP.NET MVC3 Model验证总结
- ASP.NET MVC3 Model验证总结
- ASP.NET MVC3 Model验证总结
- ASP.NET MVC3禁用页面请求验证
- ASP.NET MVC3 Model验证总结
- ASP.NET MVC3 Model验证总结
- sqlserver中的union,cube,rollup,cumpute运算符
- Jboss Weblogic Websphere 等服务器的区别
- symbian E32USER,ALLOC,KERN-EXEC,USER,CONE,WSERV错误解析
- megaminx之旅四:班级(Classes)的UI设计
- 利用SqlBulkCopy快速大批量导入数据(SqlBulkCopy强大)
- ASP.NET MVC3的验证(Validation)框架
- .NET对Excel的读写
- MS.net 开发点滴
- Centos5.6-xen4.0.3内核编译
- D-Bus入门(序)——d-bus官方介绍
- SHL测试题
- 你要做那种人
- Excel读取与创建方法三: MyXLS
- Mcafee 导致lotus notes NSD等错误