- 浏览: 476780 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1028)
- [发布至博客园首页] (826)
- [随笔分类]个人生活随笔 (14)
- [网站分类]首页候选区 (26)
- [网站分类]SharePoint (15)
- [网站分类]其他技术区 (6)
- [随笔分类]批处理技巧 (6)
- [随笔分类].net 2.0 (3)
- [随笔分类]SharePoint2007(MOSS2007) (0)
- [网站分类].NET新手区 (6)
- [网站分类]ASP.NET (6)
- [网站分类]架构设计 (18)
- [网站分类]程序人生 (2)
- [网站分类]SQL Server (2)
- WCF (3)
- 编程技巧 (2)
- 模式架构 (2)
- 分析设计 (4)
- 生活随笔 (0)
- 软件工程 (1)
- Android实例 (2)
最新评论
-
zilong0536:
楼主您好:
请问发表博文支持图片的功能怎么实现啊,一直没有思路 ...
新浪微博开放平台开发-android客户端(3) -
nicegege:
小弟 学习了
帮助中国移动设计10086的排队小模块 -
zl7824516:
用什么技术没说啊
通告(公告),消息(站内短信),提醒的设计:通告 -
virusswb:
源码下载: SinaWeibo2 源码下载之后,将后缀改为ra ...
新浪微博开放平台开发-android客户端(3) -
Jimmyxu0311:
找不到源码下载
新浪微博开放平台开发-android客户端(3)
概况
任何接受用户或者是其他系统输入的应用,一定要确保信息是合法的,符合特定的规则。例如:在处理一个订单的时候,需要检查客户的电话号码一定要是数字。另外,如果验证失败,需要返回表明错误的信息。
企业库的验证模块允许开发者实现结构化的,易维护的验证方案。另外,验证模块允许在下面的技术中使用:
- ASP.NET
- Windows Communication Foundation(WCF)
- Windwos Presentation Foundation(WPF)
- Windows Forms
企业库的验证模块是用来验证对象的,不是用来验证UI的控件的。可以验证任何地方的对象。
你可以用下面的方式定义验证规则,并且实施验证:
- 在配置文件中为指定的类定义规则集合。
- 通过在对象的成员上添加attribute。
- 在代码中添加自验证。
- 用代码创建validators实例,然后执行验证命令。
实例代码
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
public class Customer
{
[StringLengthValidator(0, 20)]
public string CustomerName;
public Customer(string customerName)
{
this.CustomerName = customerName;
}
}
public class MyExample
{
private ValidatorFactory factory;
public MyExample(ValidatorFactory valFactory)
{
factory = valFactory;
}
public void MyMethod()
{
Customer myCustomer = new Customer("A name that is too long");
Validator<Customer> customerValidator
= factory.CreateValidator<Customer>();
// Validate the instance to obtain a collection of validation errors.
ValidationResults r = customerValidator.Validate(myCustomer);
if (!r.IsValid)
{
throw new InvalidOperationException("Validation error found.");
}
}
}
使用验证模块的好处
- 维护一致的验证体验
- 可以验证大部分的.NET标准类型。
- 允许你通过配置、attribute、代码创建验证规则。
- 允许同一个类关联多个验证规则集合。
- 在验证对象的时候,可以应用一个或者多个验证规则集合。
- 可以和ASP.NET,WCF,WPF,WINDOWS FORMS整合。
添加程序集引用
添加Microsoft.Practices.EnterpriseLibrary.Validation.dll 。
添加
- Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WinForms.dll
- Microsoft.Practices.EnterpriseLibrary.Validation.Integration.AspNet.dll
- Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WPF.dll
- Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.dll
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->using Microsoft.Practices.EnterpriseLibrary.Validation;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
验证模块的使用
验证模块包括一个名为validators的类,从validator类继承。还有一个泛型版本validator<T>。
每一个验证都和一个特定的类型关联。例如:StringLengthValidator类用来检查string是否在预定的长度范围。
有四种方法可以关联验证类和特定的类型:
- 配置文件中配置
- 使用attribute
- 同时使用配置文件和attribute
- 使用自验证,在需要验证的对象中包含验证逻辑
验证类
- And Composite Validator
Class Name: AndCompositeValidator
Attribute Name: ValidatorCompositionAttribute
Configuration tool name: And Composite Validator
- Contains Characters Validator
Class Name: ContainsCharactersValidator
Attribute Name: ContainsCharactersValidatorAttribute
Configuration tool name: Contains Characters Validator
- Date Time Range Validator
- Domain Validator
- Enum Conversion Validator
- Not Null Validator
- Object Collection Validator
- Object Validator
- Or Composite Validator
- Property Comparison Validator
- Range Validator
- Regular Expression Validator
- Relative Date Time Validator
- String Length Validator
- Type Conversion Validator
- Single Member Validators
发表评论
-
NET 应用架构指导 V2 学习笔记(十六) 服务层设计指导
2010-06-04 00:13 528如果你的应用是通 ... -
NET 应用架构指导 V2 学习笔记(十七) 组件设计指导
2010-06-05 00:48 630组件提供了一种将 ... -
NET 应用架构指导 V2 学习笔记(十八) 表现层组件设计指导
2010-06-05 21:09 498本章讲述的是你在设计用户界面组件和表现层逻辑组件的时候应该 ... -
NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导
2010-06-06 06:15 5655 决定数据绑定的 ... -
NET 应用架构指导 V2 学习笔记(二十) 业务组件设计指导
2010-06-07 06:58 586前言 业务组件 ... -
微软企业库5.0学习笔记(四十二)异常处理模块
2010-06-14 00:04 811企业库的异常处理 ... -
关于程序员在30岁、35岁之后怎么办的新思考
2010-06-14 10:40 600首先给大家问个好 ... -
NET 应用架构指导 V2 学习笔记(二十四) 跨层关注问题
2010-06-17 20:00 557概况 大部分的 ... -
关于项目进度慢的思考----如何提高整体开发效率
2010-06-21 23:42 775我们都是软件行业 ... -
微软企业库5.0学习笔记(四十四)实战数据验证模块
2010-06-23 19:22 8001 在业务对象上添加验证 添加对程序集【Microso ... -
微软企业库5.0学习笔记(四十五)实战数据验证模块----高级篇
2010-06-24 19:41 9541、添加自定义的提示信息 验证失败的提示信息可以自定义 ... -
面向对象类设计的五大原则(一)单一职责原则Single Responsibility Principle
2010-06-29 15:45 741引言 面向对象类设计,或者说是面向对象设计,有五大原则 ... -
《深入浅出设计模式-中文版》读书笔记 开篇乱弹(一)
2010-07-01 06:42 626oreilly的《Head.First ... -
《深入浅出设计模式-中文版》读书笔记-继承与组合(三)
2010-07-03 16:53 582经过上一次的改造 ... -
《深入浅出设计模式-中文版》读书笔记-观察者模式(四)
2010-07-06 06:34 606今天要接触的是观 ... -
利用attribute实现简单的ORM
2010-07-09 15:27 652我不知道NH的ORM具 ... -
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
2010-07-14 13:02 790题外话 最近已经在努力学习了,学习基本功,学习设计模式 ... -
《深入浅出设计模式-中文版》读书笔记-工厂模式(五)
2010-07-16 12:46 673今天给大家带来的是:工厂模式。 我们在代码中创建一个对 ... -
Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)
2010-07-18 21:47 642题外话 又是一本Head.First系列的书,这个系列 ... -
Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(二)
2010-07-20 07:18 658今天的话题是收集需求。 Gathering Requi ...
相关推荐
微软企业库5.0,传到这里备份,以免以后到处找。微软在2010年4月发布了一版企业库5.0,我上传的这个版本是2010年5月的那一版。
[EntLib]微软企业库5.0 学习之路——第六步、使用Validation模块进行服务器端数据验证
微软企业库5.0 学习之路(全集),比较全,比较新。PDF格式,大家下吧!
4、安全性,企业库中的缓存模块可以和加密模块很好的结合起来,当适用数据库缓存、独立存储或者自定义存储的时候可以适用加密模块对缓存的数据进行加密,但存储到内存当中的数据就无法进行加密了。
良葛格java jdk 5.0学习笔记,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip。
[EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇
第一步、基本入门 第二步、使用VS2010+Data Access模块建立多数据库项目 第三步、为项目加上异常处理(采用自定义扩展方式记录到数据库...扩展学习篇、库中的依赖关系注入(重构 Microsoft Enterprise Library)[转]
使用微软企业库5.0和vs2010编写支持数据库操作,独立的封装类,易于使用和 理解!
Java JDK 5.0学习笔记 入门级别 新手必看
良葛格 Java JDK 5.0学习笔记,适合基础的同学看
良葛格Java JDK 5.0学习笔记[可打印] 良葛格Java JDK 5.0学习笔记[可打印]
微软企业库包含多种日志监控、检测等信息方法,可以直接引用,亦可学习!
良葛格Java JDK 5.0学习笔记
良葛格————JavaJDK5.0学良葛格————JavaJDK5.0学习笔记PDF.rar习笔记PDF.rar良葛格良葛格————JavaJDK5.0学习笔记PDF.rar————JavaJDK5.0学习笔记PDF.rar良葛格————JavaJDK5.0学习笔记PDF.rar良...
[EntLib]微软企业库5.0 学习之路——第三步、为项目加上异常处理(采用自定义扩展方式记录到数据库中)
Java JDK 5.0学习笔记:TP312JA L393.iso 随书光盘,欢迎大家下载 大家共享^A^
最新版的微软企业库,里面包括有最新的模块,对开发人员有很大的帮助
proe5.0的学习笔记,一些简单的命令操作等。
良葛格JDK5.0学习笔记