Freigeben über


CompareValidator-Klasse

Vergleicht den vom Benutzer in einem Eingabesteuerelement eingegebenen Wert mit dem Wert, der in einem anderen Eingabesteuerelement eingegeben wurde, oder mit einem konstanten Wert.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Class CompareValidator
    Inherits BaseCompareValidator
'Usage
Dim instance As CompareValidator
public class CompareValidator : BaseCompareValidator
public ref class CompareValidator : public BaseCompareValidator
public class CompareValidator extends BaseCompareValidator
public class CompareValidator extends BaseCompareValidator

Hinweise

Vergleichen Sie mit dem CompareValidator-Steuerelement den vom Benutzer in einem Eingabesteuerelement (z. B. ein TextBox-Steuerelement) eingegebenen Wert mit dem in einem anderen Benutzersteuerelement eingegebenen Wert oder mit einem konstanten Wert. Mit dem CompareValidator-Steuerelement können Sie außerdem angeben, ob der in ein Eingabesteuerelement eingegebene Wert in den Datentyp konvertiert werden kann, der durch die BaseCompareValidator.Type-Eigenschaft angegeben ist.

Geben Sie das zu validierende Eingabesteuerelement an, indem Sie die ControlToValidate-Eigenschaft festlegen. Wenn Sie ein bestimmtes Eingabesteuerelement mit einem anderen Eingabesteuerelement vergleichen möchten, legen Sie die ControlToCompare-Eigenschaft auf das Steuerelement für den Vergleich fest.

Hinweis

Wenn der Wert, der in das durch die ControlToCompare-Eigenschaft angegebene Eingabesteuerelement eingegeben wurde, nicht in den Datentyp konvertiert werden kann, der durch die BaseCompareValidator.Type-Eigenschaft angegeben ist, aber die Konvertierung des Werts zulässig ist, der in das durch die ControlToValidate-Eigenschaft angegebene Eingabesteuerelement eingegeben ist, wird das geprüfte Eingabesteuerelement als gültig betrachtet. Aus diesem Grund müssen Sie immer ein CompareValidator-Steuerelement oder RangeValidator-Steuerelement auf dem Eingabesteuerelement anordnen, das durch die ControlToCompare-Eigenschaft angegeben ist.

Anstatt den Wert eines Eingabesteuerelements mit dem eines anderen Eingabesteuerelements zu vergleichen, können Sie den Wert eines Eingabesteuerelements auch mit einem konstanten Wert vergleichen. Geben Sie den zu vergleichenden konstanten Wert an, indem Sie die ValueToCompare-Eigenschaft festlegen.

Hinweis

Wenn der durch die ValueToCompare-Eigenschaft angegebene Wert nicht in den Datentyp konvertiert werden kann, der durch die BaseCompareValidator.Type-Eigenschaft angegeben ist, wird eine Ausnahme ausgelöst. Überprüfen Sie den Datentyp eines Werts, bevor Sie den Wert programmgesteuert der ValueToCompare-Eigenschaft zuweisen.

Hinweis

Legen Sie nicht gleichzeitig die ControlToCompare-Eigenschaft und die ValueToCompare-Eigenschaft fest. Sie können den Wert eines Eingabesteuerelements mit dem eines anderen Eingabesteuerelements oder mit einem konstanten Wert vergleichen. Wenn beide Eigenschaften festgelegt sind, hat die ControlToCompare-Eigenschaft Vorrang.

Mit der Operator-Eigenschaft können Sie den Typ des auszuführenden Vergleichs angeben, z. B. größer als, gleich usw. Wenn Sie die Operator-Eigenschaft auf ValidationCompareOperator.DataTypeCheck festlegen, ignoriert das CompareValidator-Steuerelement sowohl die ControlToCompare-Eigenschaft als auch die ValueToCompare-Eigenschaft und gibt nur an, ob der in das Eingabesteuerelement eingegebene Wert in den Datentyp konvertiert werden kann, der durch die BaseCompareValidator.Type-Eigenschaft angegeben ist.

Mit der BaseCompareValidator.Type-Eigenschaft wird der Datentyp der beiden Vergleichswerte angegeben. Beide Werte werden vor der Ausführung des Vergleichs automatisch in diesen Datentyp konvertiert. In der folgenden Tabelle werden die verschiedenen Datentypen aufgelistet, die verglichen werden können.

Datentyp

Beschreibung

String

Ein String-Datentyp.

Integer

Ein ganzzahliger 32-Bit-Datentyp mit Vorzeichen.

Double

Ein Gleitkommazahl-Datentyp mit doppelter Genauigkeit.

Date

Ein Date-Datentyp.

Currency

Ein Dezimaldatentyp, der Währungssymbole enthalten kann.

Hinweis

Wenn das Eingabesteuerelement leer ist, werden keine Validierungsfunktionen aufgerufen, und die Validierung wird erfolgreich durchgeführt. Verwenden Sie ein RequiredFieldValidator-Steuerelement, um den Benutzer zum Eingeben von Daten in das Eingabesteuerelement aufzufordern.

Weitere Informationen zu Validierungssteuerelementen finden Sie unter BaseValidator.

Eingabehilfen

Das für dieses Steuerelement standardmäßig wiedergegebene Markup entspricht eventuell nicht den Standards für die Eingabehilfen wie beispielsweise den Richtlinien der Web Content Accessibility Guidelines 1.0 (WCAG) mit der Priorität 1. Details über die Unterstützung von Eingabehilfen für dieses Steuerelement finden Sie unter Steuerelemente und Eingabehilfen von ASP.NET.

Thema Position
Gewusst wie: Validierung anhand von Werten in einer Datenbank für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand eines Wertebereichs für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand eines bestimmten Werts für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand eines Datentyps für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Angeben des Layouts für direkte Meldungen in ASP.NET-Serversteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung erforderlicher Einträge für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Anzeigen von benutzerdefinierten Validierungsmeldungen des Servers für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Testen der Validierung für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand von Mustern für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Validieren für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Formatieren von Validierungsfehlermeldungen für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung mit einer benutzerdefinierten Funktion für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Deaktivieren der Validierung für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand von Werten in einer Datenbank für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand eines Wertebereichs für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand eines bestimmten Werts für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand eines Datentyps für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Angeben des Layouts für direkte Meldungen in ASP.NET-Serversteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung erforderlicher Einträge für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Anzeigen von benutzerdefinierten Validierungsmeldungen des Servers für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Testen der Validierung für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand von Mustern für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Validieren für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Formatieren von Validierungsfehlermeldungen für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung mit einer benutzerdefinierten Funktion für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Deaktivieren der Validierung für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Validierung anhand von Werten in einer Datenbank für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Validierung anhand eines Wertebereichs für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Validierung anhand eines bestimmten Werts für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Validierung anhand eines Datentyps für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Angeben des Layouts für direkte Meldungen in ASP.NET-Serversteuerelementen Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Validierung erforderlicher Einträge für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Anzeigen von benutzerdefinierten Validierungsmeldungen des Servers für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Programmgesteuertes Testen der Validierung für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Validierung anhand von Mustern für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Programmgesteuertes Validieren für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Formatieren von Validierungsfehlermeldungen für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Validierung mit einer benutzerdefinierten Funktion für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Deaktivieren der Validierung für ASP.NET-Serversteuerelemente Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie mit einem CompareValidator-Steuerelement die Werte in zwei TextBox-Steuerelementen verglichen werden.

<%@ 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)
         Compare1.Validate()

      End Sub
 
   </script>
 
</head>
<body>
 
   <form runat=server>

      <h3>CompareValidator Example</h3>
      <p>
      Enter a value in each textbox. 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"/>

            </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"/>
               <p>
               <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: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-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;
         Compare1.Validate();

      }
 
   </script>
 
</head>
<body>
 
   <form runat=server>

      <h3>CompareValidator Example</h3>
      <p>
      Enter a value in each textbox. 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"/>

            </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"/>
               <p>
               <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: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-Name="verdana" 
           Font-Size="10pt" 
           runat="server"/>
 
   </form>
 
</body>
</html>
<%@ Page Language="JScript" AutoEventWireup="True" %>
 
<html>
<head>
   <script runat="server">
 
      function Button_Click(sender, e : EventArgs) 
      {
 
         if (Page.IsValid) 
         {
            lblOutput.Text = "Result: Valid!";
         }
         else 
         {
            lblOutput.Text = "Result: Not valid!";
         }

      }
 
      function Operator_Index_Changed(sender, e : EventArgs) 
      {

         Compare1.Operator = ValidationCompareOperator(ListOperator.SelectedIndex);
         Compare1.Validate();

      }

      function Type_Index_Changed(sender, e : EventArgs) 
      {

         Compare1.Type = ValidationDataType(ListType.SelectedIndex);
         Compare1.Validate();

      }
 
   </script>
 
</head>
<body>
 
   <form runat=server>

      <h3>CompareValidator Example</h3>
      <p>
      Enter a value in each textbox. 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"/>

            </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"/>
               <p>
               <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: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-Name="verdana" 
           Font-Size="10pt" 
           runat="server"/>
 
   </form>
 
</body>
</html>

Vererbungshierarchie

System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
       System.Web.UI.WebControls.Label
         System.Web.UI.WebControls.BaseValidator
           System.Web.UI.WebControls.BaseCompareValidator
            System.Web.UI.WebControls.CompareValidator

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

CompareValidator-Member
System.Web.UI.WebControls-Namespace
BaseValidator-Klasse
BaseCompareValidator-Klasse
TextBox
BaseValidator.ControlToValidate-Eigenschaft
ControlToCompare
ValueToCompare
Operator
BaseCompareValidator.Type-Eigenschaft
RequiredFieldValidator