您的位置:首页 > 移动开发

Enterprise Library Validation Application Block Step by Step (1)

2009-10-22 17:12 363 查看
Demo1

在类代码中实现
Validation Application Block

的功能


步骤



任务
1

:新建一个
windows
Form

项目。



从开始菜单选择“所有程序”,指向“
Microsoft Visual
Studio 2008”

,
单击打开。在打开
VS
界面,依次选择“文件
---
新建
---
项目”,在弹出的窗体中选择“
Windows
窗体应用程序”,输入名称为“
ValidationApp
”,单击“确定”。如图
1.1
所示。




1.1
新建项目

任务
2

:设计界面。



从工具箱托
4

TextBox,4

label
和一个
button
按钮到窗体上,把
textBox

Name
分别设置为
txtName,txtPwd,txtID,txtEmail,
对应的四个
Label
控件的名称为用户名、密码、身份证号、邮件。
Button
按钮的
name
属性设置为
btnOK,
名称改为确认。将窗体的名称改为用户登录,
name
属性设置为
FormLogin
。如图
1.2





1.2
界面设计

任务
3

:添加
User





右键单击项目
ValidationApp
,选择

添加
--
à

新建项

。在弹出的窗体中选择类文件,将名称更改为
User.cs
,然后单击添加。如图
1.3





1.3
添加
User



User
类访问修饰符设置为
Public,
并向
User
类中添加以下代码。

namespace
ValidationApp

{

public
class
User

{

public
string
UserName{ get
;
set
; }

public
string
password{ get
;
set
; }

public
string
IDcard{ get
;
set
; }

public
string
email{ get
;
set
; }

}

}

任务4
:添加引用。



要使用Enterprise library
的标准Validation Application Block
来验证,需添加Microsoft.Practices.EnterpriseLibrary.Validation
的引用。

右键单击引用文件夹,指向添加引用,单击浏览,按如下相对路径“../application/lib/
”选择Microsoft.Practices.EnterpriseLibrary.Validation,
然后按下确定。如图1.5




图1.5
添加引用

使用
using
指令将引用添加到
user
类中。

using
Microsoft.Practices.EnterpriseLibrary.Validation.Validators;

使用
using
指令将引用添加到
FormLogin.cs
文件中。

using
System.Globalization;

using
Microsoft.Practices.EnterpriseLibrary.Validation;

任务5:
添加必要的验证代码。



1.

向formLogin
窗体添加如下代码,双击“确认”按钮,
添加btnOK
的处理代码。

private
void
btnOK_Click(object
sender, EventArgs
e)

{

User
user = new
User

{

UserName =txtName .Text ,

password =txtPwd .Text
,

IDcard =txtID .Text ,

email =txtEmail .Text

};

ValidationResults
results = Validation
.Validate(user);

if
(!results.IsValid)

{

StringBuilder
builder = new
StringBuilder
();

builder.AppendLine("user is no valid!"
);

foreach
(ValidationResult
result in
results)

{

builder.AppendLine(string
.Format (CultureInfo
.CurrentCulture ,"{0}:{1}"
,result .Key ,result .Message
));

}

MessageBox
.Show(

this
,

builder
.ToString (),

"Error"
,

MessageBoxButtons
.OK,

MessageBoxIcon
.Error);

return
;

}

MessageBox
.Show(

this
,

"Processing user '"
+ user
.UserName
+ "'"
,

"Working"
,

MessageBoxButtons
.OK,

MessageBoxIcon
.Information);

}

2.

向User.cs
类添加验证的代码。

public
class
User

{

[NotNullValidator
]

public
string
UserName{ get
;
set
; } [ValidatorComposition
(Microsoft.Practices.EnterpriseLibrary.Validation.CompositionType
.And )]

[StringLengthValidator
(6,12)]

[NotNullValidator
]

[RegexValidator
(@"^(-?/d+[.]?/d+)$"
)]

public
string
password{ get
;
set
; }

[StringLengthValidator
(18,18)]

public
string
IDcard{ get
;
set
; }

[RegexValidator
(@"^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[/.][a-z]{2,3}([/.][a-z]{2})?$"
)]

public
string
email{ get
;
set
; }

}

运行界面如下图1.6





1.6
运行界面

我们可以看到,验证后的消息都是由系统自动产生的。在这里,我们的下一个任务就是定义自己的验证消息。

任务
6

:定义客户验证消息。



1.
创建资源文件。(用于存储我们定义的消息)。

右键单击
ValidationApp
项目,选择属性。在打开的窗口中选择“资源”,并输入验证消息。如图
1.7
创建默认的资源文件。

验证消息如下表:

名称



用户名

用户名不能为空

密码

密码由
6—12
位的字母和数字组成

身份证号码


18
位的数字组成

电子邮件

必须是正确的电子邮件的格式



如图
1.7
创建默认的资源文件

3.

使用资源文件更新
User
类的验证消息。

首先使用
using
指令添加引用到
user.cs
类中。

using
ValidationApp.Properties ;

更改代码如下所示:

public
class
User

{

[ValidatorComposition
(Microsoft.Practices.EnterpriseLibrary.Validation.CompositionType
.And)]

[NotNullValidator
]

[StringLengthValidator
(1,10,MessageTemplateResourceType
=typeof
(Resources
),MessageTemplateResourceName ="

用户名"

)]

public
string
UserName{ get
;
set
; }

[ValidatorComposition
(Microsoft.Practices.EnterpriseLibrary.Validation.CompositionType
.And)]

[StringLengthValidator
(6,
12, MessageTemplateResourceType = typeof
(Resources
), MessageTemplateResourceName = "

密码"

)]

[RegexValidator
(@"^[A-Za-z0-9]+$"
,
MessageTemplateResourceType = typeof
(Resources
), MessageTemplateResourceName = "

密码"

)]

public
string
password{ get
;
set
; }

[ValidatorComposition
(Microsoft.Practices.EnterpriseLibrary.Validation.CompositionType
.And )]

[StringLengthValidator
(18,
18, MessageTemplateResourceType = typeof
(Resources
), MessageTemplateResourceName = "

身份证号码"

)]

[RegexValidator
(@"^[0-9]*[1-9][0-9]*$"
,
MessageTemplateResourceType = typeof
(Resources
), MessageTemplateResourceName = "

身份证号码"

)]

public
string
IDcard{ get
;
set
; }

[RegexValidator
(@"^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[/.][a-z]{2,3}([/.][a-z]{2})?$"
,MessageTemplateResourceType
=typeof
(Resources
),MessageTemplateResourceName ="

电子邮件"

)]

public
string
email{ get
;
set
; }

}

任务7
:验证,如图1.8






到这里,程序已经实现了验证的功能。在文件夹中可以找到已成的文件,可以对照运行,测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐