Enterprise Library v3中的新成员:Validation Application Block

Tom Hollander在他的Blog介绍了作为下一代企业库(开发代号Enterprise Library v3)中的新成员Validation Application BlockTom Hollander在这里提供了一些实现验证的想法,对于Enterprise Library比较关注的朋友可以一睹为快!

定义验证规则

1.使用配置

沿用Enterprise Library中以前的一贯做法,可以使用Enterprise Library配置工具进行配置验证规则。

2.使用特性

通过加上特性来实现验证,如下面的例子所示:

public class Customer
{
    
// Using fields instead of properties for brevity
[NotNullValidator]

    [StringLengthValidator(
150)]
    
public string Name;

    [RelativeDateValidator(RelativeDateKind.Before, OffSetFromNow
=0)]
    
public DateTime DateJoined;
}

3.在代码中验证

某些场景下需要在代码中实现验证

IValidator<string> emailAddressValidator = new RegExValidator("xxxx");
IValidator
<string> shortStringValidator = new AndCompositeValidator<string>(
    
new NotNullValidator<string>(), new StringLengthValidator(15));

在文章中还介绍了验证对象和创建自己的验证器。

详情可以访问:

http://blogs.msdn.com/tomholl/archive/2006/11/27/validation-application-block-revealed.aspx

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-11-28 09:33 TerryLee 阅读(3931) 评论(29)  编辑 收藏 网摘 所属分类: [10]  模式与实践[20]  推荐系列

  回复  引用  查看    
#1楼 2006-11-28 09:46 | Jeffrey Zhao      
期待,Enterprise Library一直是又好用又值得学习的东西。
  回复  引用  查看    
#2楼 [楼主]2006-11-28 09:56 | TerryLee      
@Jeffrey Zhao
嗯,Enterprise Library我也是一直关注和使用,呵呵
  回复  引用  查看    
#3楼 2006-11-28 10:22 | overred      
关注Enterprise Library....
感觉2就已经很强大拉
  回复  引用  查看    
#4楼 2006-11-28 10:23 | Daniel Phang      
期待V3的发布。。。
  回复  引用  查看    
#5楼 [楼主]2006-11-28 10:23 | TerryLee      
@overred
上次看介绍,v3中会更强:)
  回复  引用  查看    
#6楼 2006-11-28 10:24 | 壮志      
关注一下
  回复  引用  查看    
#7楼 [楼主]2006-11-28 10:25 | TerryLee      
@Daniel Phang
:)
  回复  引用  查看    
#8楼 [楼主]2006-11-28 10:30 | TerryLee      
@壮志
呵呵,Enterprise Library很值得去关注:)
  回复  引用  查看    
#9楼 2006-11-28 11:53 | neuhawk      
用el 2 中
  回复  引用  查看    
#10楼 2006-11-28 12:35 | 幸运草      
期待
  回复  引用  查看    
#11楼 2006-11-28 12:54 | Tseng      
计划用EL中,要密切关注
  回复  引用  查看    
#12楼 2006-11-28 12:56 | Clark Chan      
强啊,希望以后自己也能用到。
  回复  引用  查看    
#13楼 [楼主]2006-11-28 13:07 | TerryLee      
@neuhawk
@幸运草
:)
  回复  引用  查看    
#14楼 [楼主]2006-11-28 13:07 | TerryLee      
@Tseng
我会随时发布有关EL的最新报道的:)
  回复  引用  查看    
#15楼 [楼主]2006-11-28 13:08 | TerryLee      
@Clark Chan
EL中的这些公用程序块,只要想用,肯定能用得到:)
  回复  引用  查看    
#16楼 2006-11-28 13:35 | Justin      
EL是好东西,只是还一直没认真去学习...
准备写一个设计模式的系列,望TerryLee多提提意见!
http://www.cnblogs.com/justinw/archive/2006/11/28/574585.html
  回复  引用  查看    
#17楼 [楼主]2006-11-28 13:42 | TerryLee      
@Justin
非常支持你写这样的系列,技术这东西,不怕炒烂,就怕放坏,呵呵

每个人写出来的味道各不相同:)
  回复  引用  查看    
#18楼 2006-11-28 16:56 | 蛙蛙池塘      
对了,哥们,微软的p&p小组推出过一个什么例子来着,叫web client啥的?里面有aspnet ajax,成员管理,webpart等最佳实践的例子,你知道不?
  回复  引用  查看    
#19楼 2006-11-28 16:57 | 蛙蛙池塘      
类似winform的cab
  回复  引用  查看    
#20楼 [楼主]2006-11-28 18:38 | TerryLee      
@蛙蛙池塘
是Web Client Service Factory吧?目前还没有发布,将会在12月中旬发布,可以在http://www.codeplex.com/websf看到最新信息
  回复  引用  查看    
#21楼 2006-11-28 20:22 | 南疯      
感觉2.0当中的UpdateDataSet的参数过于复杂。当然我们可以自己重载一个函数来实现。不知道还有没有其他简单的办法。或者不需要存储过程的实现Update。

  回复  引用  查看    
#22楼 [楼主]2006-11-28 21:39 | TerryLee      
@南疯
呵呵,虽然繁琐一点,但是使用参数的形式,毕竟提高了安全性

//UpdateDateSete ——UpdateDataSet?
  回复  引用  查看    
#23楼 2006-11-28 22:51 | Ring      
Terrylee兄业界所有信息都很关心啊!!
不过我更关心terrylee兄的设计模式文章啊!!
我一直在等剩下的几篇呢!
  回复  引用  查看    
#24楼 [楼主]2006-11-28 23:24 | TerryLee      
@Ring
EL我一直都很关注,呵呵

// 设计模式系列写的比较慢,一是有时候不好写,二是保证质量,最近正在写策略模式的文章:)
  回复  引用  查看    
#25楼 2006-11-29 14:43 | 风云      
@TerryLee
技术这东西,不怕炒烂,就怕放坏,经典!哈哈!
  回复  引用  查看    
#26楼 [楼主]2006-11-29 21:31 | TerryLee      
@风云
谢谢哦,呵呵:)
  回复  引用    
#27楼 2006-12-25 14:26 | nothing! [未注册用户]
谁说的了来着,学习曲线太长!!
  回复  引用  查看    
#28楼 [楼主]2006-12-25 21:20 | TerryLee      
@nothing!





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-12-23 15:26 编辑过
Google站内搜索

相关文章:

相关链接: