本文演示Enterprise Library – Validation Application Block 验证管理模块的使用,将Validation Application Block与Windows Form进行集成。直接对控件的值进行验证,而不是对业务对象实例进行验证,这一机制和前面的练习不同。本文由
http://blog.entlib.com 开源ASP.NET博客平台小组根据EntLib HOL手册编译提供,欢迎交流。
练习七:Validation Application Block
与Windows Form
集成
直接打开\Enterprise Library 4.1 HOL\CS\Validation\Labs\Lab07\Before目录下的ValidationHOL.sln项目文件。
1. 添加ValidationProvider到Visual Studio 工具栏中
打开Mainform.cs文件,在Visual Studio工具栏中,右键点击,并选择Choose Items,如下图所示。
![Validation_7_1.gif](https://i-blog.csdnimg.cn/blog_migrate/c90a8d1a86b21e3c024fa85078313ae5.png)
在弹出的窗口中,点击Browse按钮,导航到EntLib的Lib目录,选择如下程序集:
Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WinForms.dll
![Validation_7_2.gif](https://i-blog.csdnimg.cn/blog_migrate/690d782bb2fb3638be9ba94a9599e7fa.png)
点击 open按钮,选择该程序集。
在接下来的窗口中,选择ValidationProvider 复选框,如下图所示,点击OK按钮。这样,ValidationProvider 将出现在Tool Box中。
![Validation_7_3.gif](https://i-blog.csdnimg.cn/blog_migrate/f112b6e3f6f31d037ce3a991a8fe8276.png)
2. 在Windows Form 中添加一个ErrorProvider
尽管这一步不是必须的,但一般情况下标准的ErrorProvider 控件将与ValidatorProvider一起工作,如用户数据录入无效时,提供反馈信息。
展开Toolbox工具栏中Components标签,选择ErrorProvider,并拖放到设计界面。
3. 为Customer字段添加Validation的支持
在设计界面选中ValidationProvider控件,在属性窗口设置如下属性:
name = customerValidationProvider
SourceTypeName = ValidationHOL.BusinessLogic.Customer, ValidationHOL.BusinessLogic
ErrorProvider = errorProvider1
如下图所示。
![Validation_7_4.gif](https://i-blog.csdnimg.cn/blog_migrate/c08e73f170fc1ed502467b63918751e9.png)
(2)下面进一步设置FirstName和LastName文本框的相关Validation属性。
选择FirstName文本框,设置如下属性:
Performs validation on customerValidationProvider = True
SourcePropertyName = FirstName
![Validation_7_5.gif](https://i-blog.csdnimg.cn/blog_migrate/eed5a8264f268635127339ed54ac02b1.png)
重复上述操作,选择LastName文本框,设置如下属性:
Performs validation on customerValidationProvider = True
SourcePropertyName = LastName
选择SSN文本框,设置如下属性:
Performs validation on customerValidationProvider = True
SourcePropertyName = SSN
4. 为Address字段添加Validation支持
(1)再次拖拉ValidationProvider控件到设计界面;
(2)设置该ValidationProvider的如下属性:
name = addressValidationPRovider
SourcePropertyName = ValidationHOL.BusinessLogic.Address, ValidationHOL.BusinessLogic
ErrorProvider = errorProvider1
![Validation_7_6.gif](https://i-blog.csdnimg.cn/blog_migrate/db62bae72c2b00d20e024aedadafd4fb.png)
进一步设置Street Address、City、Zip Code文本框的属性,如下所示:
PerformValidation on addressValidationProvider = True
SourcePropertyName on addressValidationProvider = StreetAddress
![Validation_7_7.gif](https://i-blog.csdnimg.cn/blog_migrate/53f28f19a7e655c9e6d2be69ed96de3e.png)
City 文本框:
PerformValidation on addressValidationProvider = True
SourcePropertyName on addressValidationProvider = City
Zip Code文本框:
PerformValidation on addressValidationProvider = True
SourcePropertyName on addressValidationProvider = ZipCode
State下拉列表框:
PerformValidation on addressValidationProvider = True
SourcePropertyName on addressValidationProvider = State
5. 运行范例程序,检查validation的运行效果,如下图所示。
![Validation_7_8.gif](https://i-blog.csdnimg.cn/blog_migrate/a0521b01a2b3b78389f7653e82aca781.png)
http://www.entlib.com专业ASP.NET电子商务平台小组,欢迎你继续访问Validation Application Block学习手册。
参考文档:
Validation Application Block Hands-On Labs for Enterprise Library