程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Validation服務器控件:CompareValidator控件

Validation服務器控件:CompareValidator控件

編輯:關於ASP.NET

閱讀此文請先查看網頁教學網的: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>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved