[EntLib]微软企业库 5.0 学习之路——第五步、介绍 EntLib.Validaon 模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇
本文是为后面的学习之路做铺垫,简单介绍下企业库中的 Validation 模块的一些相关知识,包括 Validation 模块的简介、用途、使用方法、默认提供的多种验证器的
介绍等。
一、简介及用途
在实际的项目开发中,我们总会需要对数据进行验证,以保证数据的可靠性,而为了使这些验证可以在不同的地方进行复用(如 winform、web、WPF 等),就
需要将验证进行封装,EntLib 的 Validation 模块就为我们解决了这个问题而产生的,其内置了多种常见的验证器,如字符串、日期、类型转换、正则表达式等,同时
还提供了自定义验证的接口,方便我们根据实际的业务需求进行扩展。
同时,在 Validation 模块中还为我们加入了 ASPNET、WINFORM 和 WCF 的验证器。
二、使用方法
企业库的 Validation 模块为我们提供了 2 种验证方式:
1、在具体的类、属性、字段和方法前添加特性,如:[StringLengthValidator(1, 25)]
2、使用企业库提供的配置工具,通过配置的方式将验证信息存入配置文件
当然你也可以动态的添加验证规则,这个就不是常规使用方式了,这里就不讨论了。
首先介绍下第一种验证方式:
在最新的 EntLib5 中,Validation 模块被进行了修改,各验证 Attribute 的继承也进行了修改,导致了原有的 4.1 直接在字段等前面书写 Attribute 无法使用。
会显示错误信息:StringLengthValidator 不是一个有效的 AttributeClass
参考园子里:Enterprise Library 5.0 中的 Validators
在上面链接的文章里已经需要引用 System.ComponentModel.DataAnnotations 命名空间,主要原因就是 Validation 模块的所有验证器都是继承自命名空间
System.ComponentModel.DataAnnotations 下的 ValidationAttribute 类(MSDN 描述:作为所有验证特性的基类),所以我们如果需要使用特性的
方式为实体类或字段等进行验证时必须为项目添加 System.ComponentModel.DataAnnotations 引用。
接着我们来看下,如何使用特性进行验证:
在代码中引入: