本文演示Enterprise Library – Validation Application Block 验证管理模块的使用,练习使用配置文件,而不是attribute来指定验证规则(validation rules)。本文由http://blog.entlib.com 开源ASP.NET博客平台小组根据EntLib HOL手册编译提供,欢迎交流。
 
练习五:通过配置文件来指定验证规则
下面的操作可以在练习四的基础上继续操作,删除Customer和Address类中validation attributes,或者直接打开\Enterprise Library 4.1 HOL\CS\Validation\Labs\Lab05\Before目录下的ValidationHOL.sln项目文件。该Solution包含有两个项目,分别为ValidationHOL.BusinessLogic和ValidationHOL。
 
1. 创建配置文件
为ValidationHOL项目添加配置文件app.config。
 
2. 编译Solution
编译Solution的目的是后续的一些步骤需要装载应用程序的dll。
 
3. 使用EntLib的配置编辑工具,为配置文件添加验证配置(validation configuration)
首先,为app.config配置文件添加Validation Application Block,如下图所示。
 
 
4. 为Customer类添加Validation配置
(1)右键点击Validation Application Block节点,选择New | Type,为Customer类型添加一个新的节点,如下图所示。
 
 
在弹出的Type Selector对话框中,选择Load from File按钮,然后找到上一步编译生成的ValidationHOL.BusinessLogic.dll文件(因为该文件包含有Customer类)。在Filter文本框中,输入Customer,这样可以方便找到ValidationHOL.BusinessLogic.dll中包含的Customer类,如下图所示。
 
 
(2)为Customer类型添加一个新的Rule Set,并设置Customer类型的默认Rule Set。
右键点击Customer节点,添加一个新的Rule Set,如下图所示。
 
 
选择Rule Set节点,设置Name属性为Default,如下图所示。
 
 
然后点击Customer节点,设置DefaultRule属性为Default,也就是上一步新增的Rule Set,如下图所示。
 
 
(3)为Customer类型添加新的节点
右键点击Default节点,选择New | Choose members,如下图所示。
 
 
在弹出的Member Selector对话框中,选择Customer类的所有属性,如下图所示。
 
 
(4)右键点击FirstName节点,选择New | String Length Validator,为FirstName属性设置String Length Validator,如下图所示。
 
 
选择String Length Validator节点,设置如下属性:
LowerBound=1
LowerBoundType=Inclusive
UpperBound=25
如下图所示。
 
 
重复上述FirstName的操作,为LastName设置String Length Validator,并设置如下属性:
LowerBound=1
LowerBoundType=Inclusive
UpperBound=25
 
继续为SSN属性设置Regular Expression Validator,并设置如下属性:
Pattern=^\d\d\d-\d\d-\d\d\d\d$
 
继续为Address属性设置Object Validator,不需要设置任何属性。
 
5. 按照为Customer类设置Validation配置的步骤,为Address类设置Validation配置。
首先添加Address类型,然后添加新的Rule Set,并重命名为Default,设置该Rule Set为Address类型的默认Rule Set。
 
有点不同的是为City属性设置And Composite Validator,如下图所示,点击City属性,选择New | And Composite Validator。
 
 
然后点击 Add Composite Validator节点,按照前面一致的步骤,添加String Length Validator和Contains Character Validator,并为String Length Validator设置如下属性:
LowerBound=1
LowerBoundType=Inclusive
UpperBound=30
 
为Contains Character Validator设置如下属性:
CharacterSet=sea
ContainsCharacters=All
 
继续为State属性设置String Length Validator:
LowerBound=2
LowerBoundType=Inclusive
UpperBound=2
 
为StreetAddress属性设置String Length Validator:
LowerBound=1
LowerBoundType=Inclusive
UpperBound=50
 
为ZipCode属性设置Regular Expression Validator:
Pattern=^\d{5}$
 
上述操作完成后,配置文件如下图所示,记得要保存配置文件。
 
 
6. 运行范例程序,检查配置文件中的Validation 配置是否生效
运行范例程序,在数据录入窗口中,不输入任何信息,点击Accept按钮,将显示错误验证错误信息,如下图所示。
 
 
http://www.entlib.com专业ASP.NET电子商务平台小组,欢迎你继续访问Validation Application Block学习手册。
 
参考文档:
Validation Application Block Hands-On Labs for Enterprise Library
posted on 2010-09-15 09:59  vibratea  阅读(257)  评论(0编辑  收藏  举报