Share via


CompareValidator (Control, referencia general)

[Esta documentación se proporciona solo para fines preliminares y está sujeta a cambios en versiones posteriores. Se incluye temas en blanco como marcadores].

Evalúa el valor de un control de entrada frente a un valor constante o el valor de otro control de entrada para determinar si los dos valores coinciden con la relación especificada por un operador de comparación (menor que, igual que, mayor que, etc.).

<asp:CompareValidator
    AccessKey="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"
/>

Comentarios

El control CompareValidator permite comparar el valor especificado por el usuario en un control de entrada (por ejemplo, un control TextBox) con el valor especificado en otro control de entrada o con un valor constante. También se puede usar el control CompareValidator para determinar si el valor especificado en un control de entrada se puede convertir al tipo de datos especificado por la propiedad Type.

Especifique el control de entrada que desee validar estableciendo la propiedad ControlToValidate. Si desea comparar un control de entrada específico con otro control de entrada, establezca la propiedad ControlToCompare en el nombre del control que desee comparar.

En lugar de comparar el valor de un control de entrada con otro control de entrada, se puede comparar el valor de un control de entrada con un valor constante. Especifique el valor constante que va a comparar estableciendo la propiedad ValueToCompare.

La propiedad Operator permite especificar el tipo de comparación que se va a realizar (por ejemplo, mayor que, igual que, etc.). Si se establece la propiedad Operator en ValidationCompareOperator.DataTypeCheck, el control CompareValidator omite las propiedades ControlToCompare y ValueToCompare, y simplemente indica si el valor especificado en el control de entrada se puede convertir al tipo de datos especificado por la propiedad Type.

Nota

Si el control de entrada está vacío, no se llama a ninguna función de validación y la validación se realiza correctamente.Utilice un control RequiredFieldValidator para impedir que el usuario omita un control de entrada.

Para obtener más información acerca del control CompareValidator, vea la clase System.Web.UI.WebControls.CompareValidator.

Ejemplo

En el siguiente ejemplo de código se muestra cómo usar el control CompareValidator para validar si el valor especificado en un cuadro de texto coincide con el valor especificado en otro cuadro de texto. A continuación, se muestra el resultado de validación en la página.

<%@ 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>
<%@ 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>

Vea también

Referencia

CompareValidator

Otros recursos

Sintaxis de los controles de servidor Validation