Freigeben über


Gewusst wie: Validierung anhand eines bestimmten Werts für ASP.NET-Serversteuerelemente

Aktualisiert: November 2007

Mit ASP.NET-Validierungssteuerelementen können Sie Benutzereingaben unter Verwendung von logischen Operatoren mit einem bestimmten Wert vergleichen. So können Sie z. B. angeben, dass das vom Benutzer angegebene Datum nach dem 1. Januar 1950 liegen soll oder dass der Benutzer einen ganzzahligen Wert größer oder gleich 0 eingeben muss. Alternativ dazu können Sie angeben, dass die Benutzereingabe mit einem Wert eines anderen Steuerelements verglichen werden soll.

Sicherheitshinweis:

Benutzereingaben auf ASP.NET-Webseiten können möglicherweise schädliche Clientskripts enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

So führen Sie eine Validierung anhand eines bestimmten Werts durch

  1. Fügen Sie der Seite ein CompareValidator-Steuerelement hinzu, und legen Sie die folgenden Eigenschaften fest:

    Eigenschaft

    Beschreibung

    ControlToValidate

    Die ID des Steuerelements, für das der Benutzer einen Wert angeben muss.

    ErrorMessage, Text, Display

    Eigenschaften, mit denen der Text sowie die Position der Fehler festgelegt werden, die angezeigt werden, wenn der Benutzer das Steuerelement übergeht. Ausführliche Informationen finden Sie unter Gewusst wie: Steuern der Anzeige von Validierungsfehlermeldungen für ASP.NET-Serversteuerelemente.

  2. Legen Sie den Vergleichswert über die folgenden Eigenschaften fest:

    Eigenschaft

    Beschreibung

    ValueToCompare

    – oder –

    ControlToCompare

    Ein Ausdruck, der als Zeichenfolge eingegeben wurde. Für einen Vergleich mit einem konstanten Wert legen Sie die ValueToCompare-Eigenschaft fest. Für einen Vergleich mit dem Wert eines anderen Steuerelements legen Sie die ControlToCompare-Eigenschaft auf die ID dieses Steuerelements fest. (Das CompareValidator-Steuerelement vergleicht die Eingabe des Benutzers mit der durch das ValidationPropertyAttribute angegebenen Eigenschaft des anderen Steuerelements). Wenn Sie sowohl ValueToCompare als auch ControlToCompare festlegen, hat ControlToCompare Vorrang.

    Type

    Der Datentyp der beiden zu vergleichenden Werte. Datentypen werden mithilfe der ValidationDataType-Enumeration angegeben, die die Verwendung der Typnamen String, Integer, Double, Date und Currency ermöglicht. Die Werte werden vor dem Vergleich in diesen Datentyp konvertiert. Weitere Informationen finden Sie unter Gewusst wie: Validierung anhand eines Datentyps für ASP.NET-Serversteuerelemente.

    Operator

    Der Vergleich, der verwendet werden soll. Geben Sie einen Operator an, indem Sie einen der folgenden in der ValidationCompareOperator-Enumeration definierten Werte verwenden:

    Hinweis:

    Bei der Validierung anhand eines anderen Steuerelements werden ungültige Werte im anderen Steuerelement ignoriert und die Validierung erfolgreich abgeschlossen. Ausführliche Informationen finden Sie unter Validierungsergebnisse für ASP.NET-Serversteuerelemente in Sonderfällen.

  3. Fügen Sie dem Code eine Testroutine hinzu, um die Gültigkeit zu überprüfen. Ausführliche Informationen finden Sie unter Gewusst wie: Programmgesteuertes Testen der Validierung für ASP.NET-Serversteuerelemente.

    Das folgende Codebeispiel zeigt ein TextBox-Steuerelement, das mit einem CompareValidator-Steuerelement überprüft wird.

    <table>
      <tr>
        <td>
          <asp:Textbox id="txtAge" ></asp:Textbox>
        </td>
        <td>
          <asp:CompareValidator id="CompareFieldValidator1" 
            ForeColor="Red"
            ControlToValidate="txtAge"
            ValueToCompare="0"
            Type="Integer"
            Operator="GreaterThanEqual"
            ErrorMessage="Please enter a whole number zero or greater.">
          </asp:CompareValidator >
        </td>
      </tr>
    </table>
    
    <table>
      <tr>
        <td>
          <asp:Textbox id="txtAge" ></asp:Textbox>
        </td>
        <td>
          <asp:CompareValidator id="CompareFieldValidator1" 
            ForeColor="Red"
            ControlToValidate="txtAge"
            ValueToCompare="0"
            Type="Integer"
            Operator="GreaterThanEqual"
            ErrorMessage="Please enter a whole number zero or greater.">
          </asp:CompareValidator >
        </td>
      </tr>
    </table>
    

    Das folgende Beispiel zeigt ein CompareValidator-Steuerelement, das die Benutzereingabe mit dem Wert in einem anderen Steuerelement vergleicht. Über die Seite können Benutzer Reservierungen in einem Hotel vornehmen. Das Validierungssteuerelement stellt sicher, dass der Benutzer kein Abreisedatum eingibt, das vor dem Ankunftsdatum liegt. (In einer tatsächlichen Anwendung wäre das Abreisedatum erforderlich und würde ebenfalls als Datum validiert werden.)

    <table>
      <tr>
        <td>
          Arrive<asp:Textbox id="txtArrivalDate" ></asp:Textbox>
          Depart<asp:Textbox id="txtDepartureDate" ></asp:Textbox>
        </td>
        <td>
          <asp:CompareValidator id="CompareValidator1" 
            ForeColor="Red"
            ControlToValidate="txtDepartureDate"
            ControlToCompare="txtArrivalDate"
            Type="Date"       
            Operator="GreaterThanEqual"      
            ErrorMessage="Departure date cannot be earlier than arrival date.">
          </asp:CompareValidator >
        </td>
      </tr>
    </table>
    
    <table>
      <tr>
        <td>
          Arrive<asp:Textbox id="txtArrivalDate" ></asp:Textbox>
          Depart<asp:Textbox id="txtDepartureDate" ></asp:Textbox>
        </td>
        <td>
          <asp:CompareValidator id="CompareValidator1" 
            ForeColor="Red"
            ControlToValidate="txtDepartureDate"
            ControlToCompare="txtArrivalDate"
            Type="Date"       
            Operator="GreaterThanEqual"      
            ErrorMessage="Departure date cannot be earlier than arrival date.">
          </asp:CompareValidator >
        </td>
      </tr>
    </table>
    

Siehe auch

Konzepte

Arten der Validierung für ASP.NET-Serversteuerelemente

Weitere Ressourcen

ASP.NET-Validierungssteuerelemente