ASP.NET - 如何:对照特定值验证 ASP.NET 服务器控件

通过使用 ASP.NET 验证控件,可以使用逻辑运算符对照一个特定值来验证用户输入。例如,您可以指定用户输入必须是“1950 1 1 日”之后的日期,或是一个大于等于 0 的整数值。或者,您还可以指定将用户输入与另一控件的值进行比较。

1、将 CompareValidator 控件添加到页中并设置下列属性:

属性

说明

ControlToValidate

用户必须为其提供值的控件的 ID

ErrorMessage, Text, Display

一些属性,用于指定在用户跳过控件时显示的错误的文字内容和位置。

2、通过设置以下属性来设置要比较的值:

属性

说明

ValueToCompare

- -

ControlToCompare

以字符串形式输入的表达式。要与常数值进行比较,可设置 ValueToCompare 属性。要与另一个控件的值进行比较,请将 ControlToCompare 属性设置为该控件的 ID。(CompareValidator 控件将用户输入与其他控件的 ValidationPropertyAttribute 指定的任何属性进行比较)。如果同时设置 ValueToCompare ControlToCompare,则 ControlToCompare 优先。

Type

要比较的两个值的数据类型。类型使用 ValidationDataType 枚举指定,该枚举允许您使用 StringIntegerDoubleDate Currency 类型名。在执行比较之前,值将转换为此类型。

Operator

要使用的比较。指定一个运算符,该运算符使用 ValidationCompareOperator 枚举中定义的下列值之一:

· Equal

· NotEqual

· GreaterThan

· GreaterThanEqual

· LessThan

· LessThanEqual

· DataTypeCheck

说明: 在对另一控件的验证完成后,将忽略其他控件中的无效值并通过验证。

3、在代码中添加测试,以检查有效性。

下面的代码示例演示一个使用 CompareValidator 控件进行验证的 TextBox 控件。

<table>

<tr>

<td>

<asp:Textbox id="txtAge" runat="server"></asp:Textbox>

</td>

<td>

<asp:CompareValidator id="CompareFieldValidator1" runat="server"

ForeColor="Red"

ControlToValidate="txtAge"

ValueToCompare="0"

Type="Integer"

Operator="GreaterThanEqual"

ErrorMessage="Please enter a whole number zero or greater.">

</asp:CompareValidator >

</td>

</tr>

</table>

下面的代码示例演示将用户输入与另一控件的值进行比较的 CompareValidator。用户可以使用此页预定酒店房间。验证程序检查用户是否输入了早于到达日期的离开日期。(在实际的应用程序中,离开日期是必需的信息,并且也作为日期进行验证。)

<table>

<tr>

<td>

Arrive<asp:Textbox id="txtArrivalDate" runat="server"></asp:Textbox>

Depart<asp:Textbox id="txtDepartureDate" runat="server"></asp:Textbox>

</td>

<td>

<asp:CompareValidator id="CompareValidator1" runat="server"

ForeColor="Red"

ControlToValidate="txtDepartureDate"

ControlToCompare="txtArrivalDate"

Type="Date"

Operator="GreaterThanEqual"

ErrorMessage="Departure date cannot be earlier than arrival date.">

</asp:CompareValidator >

</td>

</tr>

</table>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值