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

ASP.NET
C# Quoted-Printable编码、解码
asp.net Google的translate工具翻译 API
.NET读取所有目录下文件正则匹配文本电子邮件
asp.net 半角全角转化工具
AjaxControlToolKit 显示浏览者本地语言的方法
asp.net HTML文件上传标签
ASP.NET 绑定DataSet中的多个表
ASP.NET 重定向的几种方法小结
Asp.Net 重定向必须要知道的一些资料
ASP.NET 导出到Excel时保留换行的代码
Asp.Net Cache缓存使用代码
document.getElementsByName和document.getElementById 在IE与FF中不同实现
GridView单元格合并
asp.net 大文件上传控件
asp.net 日期函数 某月的第一天和最后一天的日期
asp.net 时间类 一周的周一和周末的日期
C# javaScript函数的相互调用
asp.net membership 密码重设
"虚拟路径"..."映射到另一个应用程序,这是不允许的!
如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 212 ::
收藏到网摘: 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>