当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > Validation服务器控件:CompareValidator控件

ASP.NET
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
.NET 常用功能和代码小结
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
asp.net IList查询数据后格式化数据再绑定控件
asp.net sql存储过程
asp.net 简单实现禁用或启用页面中的某一类型的控件
asp.net(c#)获取内容第一张图片地址的函数
The remote procedure call failed and did not execute的解决办法
ASP.NET 在线文件管理
asp.net 读取并修改config文件实现代码
ASP.NET Cookie 操作实现
asp.net Silverlight中的模式窗体
Silverlight中动态获取Web Service地址
asp.net Silverlight应用程序中获取载体aspx页面参数
asp.net 水晶报表隔行换色实现方法
asp.net 获取Gridview隐藏列的值
手动把asp.net的类生成dll文件的方法
asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
动态指定任意类型的ObjectDataSource对象的查询参数
asp.net Md5的用法小结

ASP.NET 中的 Validation服务器控件:CompareValidator控件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 132 ::
收藏到网摘: n/a

阅读此文请先查看软晨学习网的:ASP.NET入门教程:Validation服务器控件,简单讲述了Web服务器控件的使用方法。

定义和用法

CompareValidator 控件用于将由用户输入到输入控件的值与输入到其他输入控件的值或常数值进行比较。将输入控件的值同常数值或其他输入控件的值相比较,以确定这两个值是否与由比较运算符(小于、等于、大于等等)指定的关系相匹配。

注释:如果输入控件为空,则不会调用任何验证函数,并且验证将成功。使用 RequiredFieldValidator 控件使字段成为必选字段。

属性

属性 描述
BackColor CompareValidator 控件的背景颜色。
ControlToCompare 要与所验证的输入控件进行比较的输入控件。
ControlToValidate 要验证的输入控件的 ID。
Display

验证控件中错误信息的显示行为。

合法值是:

  • None 验证消息从不内联显示。
  • Static 在页面布局中分配用于显示验证消息的空间。
  • Dynamic 如果验证失败,将用于显示验证消息的空间动态添加到页面。
EnableClientScript 布尔值,规定是否启用客户端验证。
Enabled 布尔值,规定是否启用验证控件。
ErrorMessage

当验证失败时在 ValidationSummary 控件中显示的文本。

注释:如果未设置 Text 属性,此文本将显示在验证控件中。

ForeColor 控件的前景颜色。
id 控件的唯一 ID。
IsValid 布尔值,指示由 ControlToValidate 指定的输入控件是否通过验证。
Operator

要执行的比较操作的类型。

运算符是:

  • Equal
  • GreaterThan
  • GreaterThanEqual
  • LessThan
  • LessThanEqual
  • NotEqual
  • DataTypeCheck
runat 规定控件是服务器控件。必须设置为 "server"。
Text 当验证失败时显示的消息。
Type

规定要对比的值的数据类型。

类型有:

  • Currency
  • Date
  • Double
  • Integer
  • String
ValueToCompare 一个常数值,该值要与由用户输入到所验证的输入控件中的值进行比较。

语法

<asp:CompareValidator
    AccessKey="string"
    AssociatedControlID="string"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
        Inset|Outset"
    BorderWidth="size"
    ControlToCompare="string"
    ControlToValidate="string"
    CssClass="string"
    CultureInvariantValues="True|False"
    Display="None|Static|Dynamic"
    EnableClientScript="True|False"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ErrorMessage="string"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
        Large|X-Large|XX-Large"
    Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    Height="size"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    Operator="Equal|NotEqual|GreaterThan|GreaterThanEqual|LessThan|
        LessThanEqual|DataTypeCheck"
    runat="server"
    SetFocusOnError="True|False"
    SkinID="string"
    Style="string"
    TabIndex="integer"
    Text="string"
    ToolTip="string"
    Type="String|Integer|Double|Date|Currency"
    ValidationGroup="string"
    ValueToCompare="string"
    Visible="True|False"
    Width="size"
/>

备注:CompareValidator 控件使您能够将用户输入到一个输入控件(如 TextBox 控件)中的值与输入到另一个输入控件中的值或某个常数值进行比较。还可以使用 CompareValidator 控件确定输入到输入控件中的值是否可以转换为 Type 属性指定的数据类型。

通过设置 ControlToValidate 属性来指定要验证的输入控件。如果要将特定的输入控件与另一个输入控件进行比较,请用要比较的控件的名称设置 ControlToCompare 属性。

可以将一个输入控件的值同某个常数值相比较,而不是比较两个输入控件的值。通过设置 ValueToCompare 属性来指定要比较的常数值。

Operator 属性允许您指定要执行的比较类型,如大于、等于等。如果将 Operator 属性设置为 ValidationCompareOperator.DataTypeCheck,则 CompareValidator 控件将忽略 ControlToCompare 和 ValueToCompare 属性并且只表明输入控件中输入的值是否可以转换为 Type 属性指定的数据类型。

注意:如果输入控件为空,则不调用任何验证函数且验证成功。使用 RequiredFieldValidator 控件防止用户跳过某个输入控件。

示例

下面的代码示例演示如何使用 CompareValidator 控件来验证一个文本框中输入的值是否与另一个文本框中输入的值匹配。验证结果随后显示在页上。

Visual Basic

<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
   <script runat="server">
      Sub Button_Click(sender As Object, e As EventArgs) 
         If Page.IsValid Then         
            lblOutput.Text = "Result: Valid!"
         Else         
            lblOutput.Text = "Result: Not valid!"
         End If
      End Sub
       Sub Operator_Index_Changed(sender As Object, e As EventArgs)
         Compare1.Operator = CType(ListOperator.SelectedIndex, ValidationCompareOperator)
         Compare1.Validate()
      End Sub
      Sub Type_Index_Changed(sender As Object, e As EventArgs)
         Compare1.Type = CType(ListType.SelectedIndex, ValidationDataType)
         Compare2.Type = CType(ListType.SelectedIndex, ValidationDataType)
         Compare1.Validate()
      End Sub
    </script>
 </head>
<body>
   <form runat="server">
      <h3>CompareValidator Example</h3>
      <p>
      Enter a value in each text box. Select a comparison operator<br>
      and data type. Click "Validate" to compare values.
       <table bgcolor="#eeeeee" cellpadding="10">
         <tr valign="top">
            <td>
               <h5>String 1:</h5>
               <asp:TextBox id="TextBox1"
                    runat="server"/>
               <br>
               <asp:CompareValidator id="Compare1"
                    ControlToValidate="TextBox1"
                    ControlToCompare="TextBox2"
                    Type="String"
                    EnableClientScript="false"
                    Text="Failed Validation"
                    runat="server"/>
            </td>
            <td>
               <h5>Comparison Operator:</h5>
               <asp:ListBox id="ListOperator"
                    OnSelectedIndexChanged="Operator_Index_Changed"
                    runat="server">
                  <asp:ListItem Selected 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:CompareValidator id="Compare2"
                    ControlToValidate="TextBox2" 
                    Operator="DataTypeCheck"
                    EnableClientScript="false"
                    Text="Invalid Data Type"
                    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 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:ListBox>
            </td>
         </tr>
      </table>
      <br>      
      <asp:Label id="lblOutput"
           Font-Name="verdana"
           Font-Size="10pt"
           runat="server"/>
   </form>
</body>
</html>

C#

<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
   <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;
         Compare2.Type = (ValidationDataType)ListType.SelectedIndex;
         Compare1.Validate();
      }
   </script>
</head>
<body>
   <form runat="server">
      <h3>CompareValidator Example</h3>
      <p>
      Enter a value in each text box. Select a comparison operator<br>
      and data type. Click "Validate" to compare values.
       <table bgcolor="#eeeeee" cellpadding="10">
         <tr valign="top">
            <td>
               <h5>String 1:</h5>
               <asp:TextBox id="TextBox1"
                    runat="server"/>
               <br>
               <asp:CompareValidator id="Compare1"
                    ControlToValidate="TextBox1"
                    ControlToCompare="TextBox2"
                    Type="String"
                    EnableClientScript="false"
                    Text="Failed Validation"
                    runat="server"/>
            </td>
            <td>
               <h5>Comparison Operator:</h5>
               <asp:ListBox id="ListOperator"
                    OnSelectedIndexChanged="Operator_Index_Changed"
                    runat="server">
                  <asp:ListItem Selected 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:CompareValidator id="Compare2"
                    ControlToValidate="TextBox2" 
                    Operator="DataTypeCheck"
                    EnableClientScript="false"
                    Text="Invalid Data Type"
                    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 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:ListBox>
            </td>
         </tr>
      </table>
      <br>      
      <asp:Label id="lblOutput"
           Font-Name="verdana"
           Font-Size="10pt"
           runat="server"/>
   </form>
</body>
</html>