使用 CompareValidator 控件将由用户输入到输入控件(例如 TextBox 控件)的值与输入到其他输入控件的值或常数值进行比较。如果输入控件的值符合 Operator、ValueToCompare 及/或 ControlToCompare 属性指定的条件,CompareValidator 控件便可通过验证。
还可以使用 CompareValidator 控件来指示输入到输入控件中的值是否可以转换为 BaseCompareValidator.Type 属性所指定的数据类型。
通过设置 ControlToValidate 属性指定要验证的输入控件。如果要将特定输入控件与其他输入控件进行比较,请设置 ControlToCompare 属性以指定要与之比较的控件。
说明: 如果输入到 ControlToCompare 属性所指定的输入控件中的值无法转换为 BaseCompareValidator.Type 属性所指定的数据类型,而输入到 ControlToValidate 属性所指定的输入控件中的值可以转换,则所验证的输入控件将被视为有效。因此,您还应在 ControlToCompare 属性所指定的输入控件上放置 CompareValidator 或 RangeValidator 控件。
还可以将输入控件的值与常数值进行比较,而不是将一个输入控件的值与其他输入控件的值进行比较。通过设置 ValueToCompare 属性指定要与之比较的常数值。
说明: 如果 ValueToCompare 属性指定的值无法转换为 BaseCompareValidator.Type 属性指定的数据类型,将引发异常。在以编程方式将该值分配给 ValueToCompare 属性之前,一定要检查该值的数据类型。
说明: 请勿同时设置 ControlToCompare 和 ValueToCompare 属性。既可以将输入控件的值与另一个输入控件的值进行比较,也可以将其与常数值进行比较。如果同时设置了这两个属性,则 ControlToCompare 属性优先。
使用 Operator 属性指定要执行的比较的类型,如大于、等于等等。如果将 Operator 属性设置为 ValidationCompareOperator.DataTypeCheck,则 CompareValidator 控件忽略 ControlToCompare 和 ValueToCompare 属性,并且仅指示输入到输入控件中的值是否可以转换为 BaseCompareValidator.Type 属性指定的数据类型。
BaseCompareValidator.Type 属性用于指定两个比较值的数据类型。在执行比较操作前,两个值都自动转换为此数据类型。
重要说明: 当 Type 属性设置为 Date 且当前日历类型为非公历时,验证程序只执行服务器端验证。验证程序客户端脚本只支持公历日历。
下表列出了可以比较的各种数据类型。
数据类型
|
说明
|
String
|
字符串数据类型。
|
Integer
|
32 位有符号整数数据类型。
|
Double
|
双精度浮点数数据类型。
|
Date
|
日期数据类型。
|
Currency
|
一种可以包含货币符号的十进制数据类型。
|
说明: 如果输入控件为空,则不会调用任何验证函数,并且验证将成功。使用 RequiredFieldValidator 控件要求用户在输入控件中输入数据。
说明:当使用 UpdatePanel 控件内部的 CompareValidator 控件时,请确保该验证程序控件与关联的控件位于同一面板中。
示例
下面的代码示例演示如何使用 CompareValidator 控件来比较两个 TextBox 控件中的值。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head>
<title>CompareValidator Example</title>
<script runat="server">
void Button_Click(Object sender, EventArgs e)
{
if (Page.IsValid)
{
lblOutput.Text = "Result: Valid!";
}
else
{
lblOutput.Text = "Result: Not valid!";
}
}
void Operator_Index_Changed(Object sender, EventArgs e)
{
Compare1.Operator = (ValidationCompareOperator) ListOperator.SelectedIndex;
Compare1.Validate();
}
void Type_Index_Changed(Object sender, EventArgs e)
{
Compare1.Type = (ValidationDataType) ListType.SelectedIndex;
Compare1.Validate();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>CompareValidator Example</h3>
<br />
Enter a value in each textbox. Select a comparison operator<br />
and data type. Click "Validate" to compare values.
<table style="background-color:#eeeeee; padding:10">
<tr valign="top">
<td>
<h5>String 1:</h5>
<asp:TextBox id="TextBox1"
runat="server"/>
</td>
<td>
<h5>Comparison Operator:</h5>
<asp:ListBox id="ListOperator"
OnSelectedIndexChanged="Operator_Index_Changed"
runat="server">
<asp:ListItem Selected="True" Value="Equal">Equal</asp:ListItem>
<asp:ListItem Value="NotEqual">NotEqual</asp:ListItem>
<asp:ListItem Value="GreaterThan">GreaterThan</asp:ListItem>
<asp:ListItem Value="GreaterThanEqual">GreaterThanEqual</asp:ListItem>
<asp:ListItem Value="LessThan">LessThan</asp:ListItem>
<asp:ListItem Value="LessThanEqual">LessThanEqual</asp:ListItem>
<asp:ListItem Value="DataTypeCheck">DataTypeCheck</asp:ListItem>
</asp:ListBox>
</td>
<td>
<h5>String 2:</h5>
<asp:TextBox id="TextBox2"
runat="server"/>
<br />
<asp:Button id="Button1"
Text="Validate"
OnClick="Button_Click"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<h5>Data Type:</h5>
<asp:ListBox id="ListType"
OnSelectedIndexChanged="Type_Index_Changed"
runat="server">
<asp:ListItem Selected="true" Value="String" >String</asp:ListItem>
<asp:ListItem Value="Integer" >Integer</asp:ListItem>
<asp:ListItem Value="Double" >Double</asp:ListItem>
<asp:ListItem Value="Date" >Date</asp:ListItem>
<asp:ListItem Value="Currency" >Currency</asp:ListItem>
</asp:ListBox>
</td>
</tr>
</table>
<asp:CompareValidator id="Compare1"
ControlToValidate="TextBox1"
ControlToCompare="TextBox2"
EnableClientScript="False"
Type="String"
runat="server"/>
<br />
<asp:Label id="lblOutput"
Font-Names="verdana"
Font-Size="10pt"
runat="server"/>
</form>
</body>
</html>
分享到:
相关推荐
ASP.NET中的高级Web服务器控件是一组强大的工具,旨在帮助开发者构建交互性强、功能丰富的Web应用程序。这些控件包括日历控件、广告控件和验证控件,它们各自具有独特的优势和用法。 日历控件允许用户以可视化的...
【ASP.NET Web控件】ASP.NET提供了丰富的Web控件,如RequiredFieldValidator用于表单验证,CompareValidator用于比较输入数据。这些控件简化了客户端和服务器端验证,以及错误消息的呈现。控件的属性如 Visible 和 ...
ASP.NET 服务器控件中的验证控件是构建Web应用程序中不可或缺的一部分,它们主要负责检查用户输入的数据是否符合预设的规则,从而确保数据的完整性和安全性。这些控件简化了开发过程,避免了手动编写复杂的客户端和...
通常,ASP.NET提供了一系列内置的验证控件,如RequiredFieldValidator(用于检查是否为空),CompareValidator(用于比较两个控件的值),RegularExpressionValidator(用于验证输入符合特定正则表达式)等。...
ASP.NET服务器控件分为几大类:标准控件(如Label、Button、TextBox等)、Web表单控件(如FormView、DetailsView、GridView等)、数据源控件(如SqlDataSource、ObjectDataSource等)以及自定义控件。这些控件提供了...
验证控件是ASP.NET Web Forms中非常关键的一部分,它们帮助开发者在客户端或服务器端验证用户输入。客户端验证在用户的浏览器中执行,减少了服务器的负载,而服务器端验证则提供额外的安全层,确保即使客户端验证被...
4. 表单验证:为了确保输入数据的有效性,需要对用户输入进行验证,ASP.NET提供了一系列内置的验证控件,如RequiredFieldValidator、CompareValidator等。 5. 状态管理:ASP.NET提供了多种状态管理机制,如...
在ASP.NET中,有多种内置的验证控件,如RequiredFieldValidator(必填字段验证)、CompareValidator(比较验证)、RangeValidator(范围验证)等,它们通过简单的配置就能实现复杂的数据验证逻辑。 气泡提示控件,...
**验证控件**是ASP.NET中用于确保用户输入数据有效性的工具,常见的有`RequiredFieldValidator`(验证字段非空)、`CompareValidator`(比较输入值与特定值或表达式)、`RangeValidator`(验证数值或日期范围)、`...
ASP.NET提示控件是.NET Framework下用于增强用户体验的重要组件,主要在Web应用程序中提供实时反馈,帮助用户在输入数据时即时验证其准确性。这些控件通常以非侵入性的方式集成到网页中,以优雅的形式向用户显示错误...
1、本程序使用基于Asp.Net的6种Asp验证控件; 2、验证控件十分方便,可以帮助我们很好解决提示用户输入的作用,达到一种很好的用户体验效果。 3、本程序,采用了非空验证(RequireValidator)、范围验证...
本教程将深入探讨ASP.NET服务器控件的开发技术,并通过实例来帮助你理解和应用这些知识。 一、服务器控件基础 ASP.NET服务器控件是运行在服务器端的,它们在HTML发送到客户端之前被处理。服务器控件具有丰富的属性...
ASP.NET提供了多种验证控件,如RequiredFieldValidator、RegularExpressionValidator、CompareValidator等,以及自定义验证。 8. 数据库事务处理:在处理多条数据库操作时,事务可以确保数据的一致性。了解如何在...
9. 数据验证:ASP.NET提供了多种内置验证控件,如RequiredFieldValidator、CompareValidator等,用于确保用户输入的数据符合预期格式和规则。 10. 分页和排序:对于大量数据,分页和排序功能是必不可少的。ASP.NET...
ASP.NET提供了内置的验证控件,如RequiredFieldValidator(必需字段验证)、CompareValidator(比较验证)和RegularExpressionValidator(正则表达式验证)。这些控件可确保用户输入的数据满足预设条件,提高应用的...
首先,我们来探讨一下ASP.NET服务器控件。这些控件在服务器端执行,其生命周期由ASP.NET管理。例如,按钮控件(Button)用于接收用户点击事件,文本框控件(TextBox)允许用户输入文本,复选框控件(CheckBox)供用户进行...
在ASP.NET框架中,C#语言是主要的编程语言,它提供了丰富的验证控件来帮助开发者轻松实现客户端和服务器端的数据验证。这些控件能够减少服务器的负载,提高应用程序的响应速度,同时提供良好的用户体验。 1. **验证...
ASP.NET提供了内置的验证控件,如RequiredFieldValidator、CompareValidator等,用于确保输入数据的有效性和完整性。 6. **状态管理**: ASP.NET支持多种状态管理机制,如视图状态、控制状态、隐藏字段、Cookie等,...
在ASP.NET中,服务器端控件是Web应用程序开发的核心元素,它们使得开发者能够构建功能丰富的交互式网页。苏鹏的asp.net教程专注于讲解这些控件的使用,包括它们的属性和方法,帮助开发者深入理解这一关键概念。 ...
1. 控件类型:ASP.NET服务器控件分为两种类型——HTML控件(继承自System.Web.UI.HtmlControls命名空间)和Web控件(继承自System.Web.UI.WebControls命名空间)。HTML控件对应于HTML元素,而Web控件则提供更丰富的...