Freigeben über


Gewusst wie: Validierung anhand von Mustern für ASP.NET-Serversteuerelemente

Aktualisiert: November 2007

Sie können prüfen, ob die Benutzereingabe mit einem vordefinierten Muster übereinstimmt, z. B. einer Telefonnummer, einer Postleitzahl, einer E-Mail-Adresse usw. Zu diesem Zweck verwenden Sie einen regulären Ausdruck. Weitere Informationen zu regulären Ausdrücken finden Sie unter Reguläre Ausdrücke von .NET Framework.

Sicherheitshinweis:

ASP.NET-Webseiten führen standardmäßig eine automatische Validierung durch, um zu verhindern, dass böswillige Benutzer Skripts oder HTML-Elemente an die Anwendung senden. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

So führen Sie eine Validierung anhand eines regulären Ausdrucks durch

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

    Eigenschaft

    Beschreibung

    ControlToValidate

    Die ID des zu validierenden Steuerelements.

    ErrorMessage, Text, Display

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

  2. Legen Sie das Muster fest, das zum Vergleich herangezogen werden soll, indem Sie die ValidationExpression-Eigenschaft auf einen regulären Ausdruck festlegen.

    Hinweis:

    Wenn Sie einen visuellen Designer wie Visual Studio .NET 2005 verwenden, können Sie aus den vordefinierten Mustern auswählen, die im RegularExpressionValidator-Steuerelement enthalten sind.

    Wenn Sie mehrere gültige Muster zulassen möchten, trennen Sie die Ausdrücke mit einem senkrechten Strich (|).

    Hinweis:

    Bei der clientseitigen Validierung werden reguläre Ausdrücke mit ECMAScript (JavaScript) ausgewertet. Dabei gibt es geringfügige Unterschiede zur serverseitigen Validierung mit regulären Ausdrücken.

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

    Das folgende Codebeispiel zeigt, wie Sie mit dem RegularExpressionValidator-Steuerelement prüfen können, ob die Benutzer eine in den USA gültige Postleitzahl eingegeben haben. Es wird auf zwei Muster überprüft: fünf Ziffern und fünf Ziffern plus ein Bindestrich plus vier weitere Ziffern.

    ZIP: <asp:TextBox id="txtZIP" runat="SERVER"></asp:TextBox>
         <asp:RegularExpressionValidator 
           id="txtZIP_validation" runat="SERVER" 
           ControlToValidate="txtZIP" 
           ErrorMessage="Enter a valid US ZIP code."
           ValidationExpression="\d{5}(-\d{4})?">
         </asp:RegularExpressionValidator>
    
    ZIP: <asp:TextBox id="txtZIP" runat="SERVER"></asp:TextBox>
         <asp:RegularExpressionValidator 
           id="txtZIP_validation" runat="SERVER" 
           ControlToValidate="txtZIP" 
           ErrorMessage="Enter a valid US ZIP code."
           ValidationExpression="\d{5}(-\d{4})?">
         </asp:RegularExpressionValidator>
    

Siehe auch

Konzepte

Arten der Validierung für ASP.NET-Serversteuerelemente

Weitere Ressourcen

ASP.NET-Validierungssteuerelemente