Enterprise Library 3.0 体验(3):使用配置文件的Validation Application Block
摘要:Enterprise Library 3.0 January 2007 CTP版发布了,这次发布的版对于Validation Application Block有了很大的改进,包括对配置工具的支持,与ASP.NET以及WinForm的集成等新的特性。在上一篇文章中我介绍了如何使用Attribute来实现验证,文本看一下如何利用配置文件来使用Validation Application Block。
1.新建一个控制台应用程序,仍然使用我在前一篇文章中用过的User实体类,这跟我们编写的普通业务对象并没有任何区别:
public class User
{
private String _name;
private int _age;
public String Name
{
get { return _name; }
set { _name = value; }
}
public int Age
{
get { return _age; }
set { _age = value; }
}
}
2.先对项目编译,添加配置文件App.config,在VS.NET2005中打开,默认会用Enterprise Library配置工具打开,新建Validation Application Block,如下图所示:
3.完成后在Validation Application Block上右键菜单中新建类型,就是我们需要验证的类:
在弹出的类型选择对话框中,加载我们刚才编译后的.EXE文件,就可以找到User类,在实际中我们会把它们单独放在一个项目中,这时只需要加载对应的DLL文件就可以了。
4.在User类上新建验证规则的集合,可以在属性对话框中修改验证规则的名称,对于每个类我们可以建立多个验证规则:
5.在规则上就可以新建我们需要验证的属性了,这里我们建立Name和Age两个属性,也可以建立对Field和Method的验证:
6.在属性上创建验证器,在当前版本中,Validation Application Block提供了大量了验证器供我们使用,如下图所示:
7.对于每个验证器,可以通过属性对话框中的MessageTemplate属性来设置验证通不过时的提示信息:
8.前面说过可以建立多个验证规则,对于每个类型,可以为它设置一个默认的验证规则:
9.编写简单的验证代码,仍然使用Validation外观类,我们可以使用ValidateFromConfiguration方法来实现验证:
class Program
{
static void
{
User user = new User();
user.Name = "TerryLee";
user.Age = 210;
ValidationResults results = Validation.ValidateFromConfiguration<User>(user);
foreach (ValidationResult result in results)
{
Console.WriteLine(String.Format("Key: {0},Message: {1}", result.Key.ToString(), result.Message));
}
Console.Read();
}
}
简单的使用配置文件的Validation Application Block验证就完成了。在后面的文章中我会介绍到Validation Application Block如何与ASP.NET和WinForm集成等新的特性J
注意本文使用的版本是Enterprise Library 3.0 January 2007 CTP版本。
Worktile,新一代简单好用、体验极致的团队协同、项目管理工具,让你和你的团队随时随地一起工作。完全免费,现在就去了解一下吧。
https://worktile.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!