26.3.2 比较两个字段控件CompareValidator(1)
可以使用CompareValiator与固定值比较,也可以对两个控件进行比较,也可以用于检查数据类型。
首先是CompareValiator与固定值的比较。为此还是利用前面介绍的例程说明该用法,设计步骤如下。
(1)打开网站ValidatorTest,将页面切换到"设计"视图,然后在年龄对应文本框的右边表格里添加两个验证控件。一个是RequiredFieldValidator控件,另一个是CompareValidator控件。前者用于验证输入非空,后者用于比较输入的年龄数字是否与给定的数字相符。
(2)设置RequiredFieldValidator控件的属性,如表26.2所示。
表26.2 设置RequiredFieldValidator的属性
[TR]
[TD]
属 性
[/TD]
[TD]
属 性 值
[/TD]
[TD]
属 性
[/TD]
[TD]
属 性 值
[/TD][/TR]
[TR]
[TD]
ErrorMessage
[/TD]
[TD]
*年龄不能为空
[/TD]
[TD]
Display
[/TD]
[TD]
Dinamic
[/TD][/TR]
然后设置CompareValidator控件的属性如表26.3所示。
表26.3 设置CompareValidator的属性
[TR]
[TD]
属 性
[/TD]
[TD]
属 性 值
[/TD]
[TD]
属 性
[/TD]
[TD]
属 性 值
[/TD][/TR]
[TR]
[TD]
ErrorMessage
[/TD]
[TD]
*年龄不能小于20岁
[/TD]
[TD]
ValueToCompare
[/TD]
[TD]
20
[/TD][/TR]
[TR]
[TD]
Display
[/TD]
[TD]
Dinamic
[/TD]
[TD]
Type
[/TD]
[TD]
Integer
[/TD][/TR]
[TR]
[TD]
Operator
[/TD]
[TD]
GreaterThanEqual
[/TD]
[TD]
[/TD]
[TD]
[/TD][/TR]
将两个控件的Display属性都设置为Dinamic,是为了显示验证错误时的布局紧凑和美观。CompareValidator的Operator设置为GreaterThanEqual表示大于等于,用于验证控件中的输入是否大于等于ValueToCompare属性给定的值。Type属性指定了要比较的值(此处是20)的数据类型,它还可以是String、Double、Date和Currency等类型。其中Date表示日期类型,Currency是货币类型。
(3)运行程序,测试上面对控件设置的效果,如图26.31所示。当输入的年龄小于20时则会显示验证信息,如图26.32所示。
[TR]
[TD][I]498)this.width=498;' onmousewheel = 'javascript:return big(this)' height=269 alt="" src="http://pic.aIhUaU.com/201602/15/124131862.jpg" width=482 border=0>[/TD][/TR]
[TR]
[TD](点击查看大图)图26.31 非空检查[/TD][/TR]
[TR]
[TD][I]498)this.width=498;' onmousewheel = 'javascript:return big(this)' height=269 alt="" src="http://pic.aIhUaU.com/201602/15/124225341.jpg" width=482 border=0>[/TD][/TR]
[TR]
[TD](点击查看大图)图26.32 比较验证[/TD][/TR]
可以看出两个验证控件所显示的位置都是一样的,这是Display的Dinamic属性值在起作用。当输入的年龄大于或等于20时,则可以通过验证。
接下来是使用CompareValidator控件对两个控件的输入进行比较。下面将对"用户名"和"密码"是否一致进行比较,设计步骤如下。
(1)打开网站ValidatorTest,将页面切换到"设计"视图。在"工具箱"中找到CompareValidator控件,并拖放至页面中"密码"对应的输入框右边的表格中。
(2)为CompareValidator控件设置属性,如表26.4所示。
表26.4 设置CompareValidator的属性
[TR]
[TD]
属 性
[/TD]
[TD]
属 性值
[/TD]
[TD]
属性
[/TD]
[TD]
属性值
[/TD][/TR]
[TR]
[TD]
ErrorMessage
[/TD]
[TD]
密码和用户名
不能相同
[/TD]
[TD]
ControlToCompare
[/TD]
[TD]
UserNameTxt
[/TD][/TR]
[TR]
[TD]
Display
[/TD]
[TD]
Static
[/TD]
[TD]
Type
[/TD]
[TD]
String
[/TD][/TR]
[TR]
[TD]
Operator
[/TD]
[TD]
NotEqual
[/TD]
[TD]
TextModel
[/TD]
[TD]
Password
[/TD][/TR]
[TR]
[TD]
ControlTo
Validate
[/TD]
[TD]
PassWordTxt
[/TD]
[TD]
[/TD]
[TD]
[/TD][/TR]