Freigeben über


Einführung in die Überprüfung der Benutzereingabe in Web Forms

Sie können die Eingabe in Web Forms-Seiten mit Hilfe von Überprüfungssteuerelementen überprüfen. Überprüfungssteuerelementen bieten einen benutzerfreundlichen Mechanismus für alle gängigen Arten von Standardüberprüfungen – z. B. die Überprüfung auf gültige Datumsangaben oder auf Werte innerhalb eines Bereichs – sowie Möglichkeiten zum Bereitstellen von benutzerdefinierten Überprüfungen. Außerdem können Sie mit Überprüfungssteuerelementen frei festlegen, wie dem Benutzer Fehlerinformationen angezeigt werden.

Überprüfungssteuerelemente können zusammen mit allen anderen Steuerelementen verwendet werden, die in einer Klassendatei einer Web Forms-Seite verarbeitet werden (einschließlich HTML- und Webserversteuerelemente). Weitere Informationen finden Sie unter Einführung in ASP.NET-Serversteuerelemente.

Sicherheitshinweis   Die Web Forms-Seite führt standardmäßig eine automatische Überprüfung durch, um zu verhindern, dass böswillige Benutzer Skripte an die Anwendung senden. Weitere Informationen finden Sie unter Skriptangriffe.

Verwenden von Überprüfungssteuerelementen

Die Überprüfung der Benutzereingabe wird aktiviert, indem Sie Überprüfungssteuerelemente wie alle anderen Serversteuerelemente zu dem Formular hinzufügen. Es gibt Steuerelemente für verschiedene Arten der Überprüfung, z. B. Bereichsüberprüfung oder Mustervergleich. Eine vollständige Liste finden Sie unter Arten der Überprüfung für ASP.NET-Serversteuerelemente.

Jedes Überprüfungssteuerelement verweist auf ein Eingabesteuerelement (ein Serversteuerelement) an einer anderen Stelle der Seite. Wenn die Eingabe des Benutzers verarbeitet wird (z. B. wenn das Formular abgeschickt wird), übergibt das ASP.NET-Seitengerüst die Eingabe des Benutzers an das/die entsprechende(n) Überprüfungssteuerelement(e). Die Überprüfungssteuerelemente prüfen die Benutzereingabe und legen eine Eigenschaft fest, die angibt, ob die Eingabe den Test bestanden hat. Nachdem alle Überprüfungssteuerelemente aufgerufen wurden, wird eine Eigenschaft auf der Seite festgelegt; wenn eines der Steuerelemente angibt, dass eine Gültigkeitsprüfung fehlgeschlagen ist, wird die gesamte Seite als ungültig gekennzeichnet.

Sie können den Status der Seite und den einzelner Steuerelemente im Code testen. So würden Sie z. B. den Status der Überprüfungssteuerelemente testen, bevor Sie einen Datensatz mit Informationen aktualisieren, die vom Benutzer eingegeben wurden. Falls ein Status ungültig ist, wird der Datensatz nicht aktualisiert. Wenn eine Gültigkeitsprüfung fehlschlägt, wird die eigene Verarbeitung in der Regel gestoppt, und die Seite wird an den Benutzer zurückgegeben. Überprüfungssteuerelemente, die Fehler feststellen, erzeugen daraufhin eine Fehlermeldung, die auf der Seite angezeigt wird.

Bei einer Überprüfung

Die Überprüfung erfolgt nach der Seiteninitialisierung (d. h. nach der Verarbeitung der Anzeigestatus- und Rücksendedaten), jedoch vor dem Aufruf des Change-Ereignishandlers oder Click-Ereignishandlers.

Sie können die Überprüfungsprozedur früher, z. B. beim Laden der Seite, ausführen, indem Sie die Validate-Methode des Steuerelements aufrufen. Weitere Informationen finden Sie unter Programmgesteuerte Überprüfung für ASP.NET-Serversteuerelemente.

Überprüfung auf mehrere Bedingungen

Im Allgemeinen führt jedes Überprüfungssteuerelement nur einen Test durch. Es ist allerdings häufig der Fall, dass mehrere Bedingungen überprüft werden sollen. So kann z. B. die Eingabe in ein Feld sowohl obligatorisch als auch auf Datumsangaben innerhalb eines bestimmten Bereichs beschränkt sein.

Sie können ein Eingabefeld auf einem Formular mit mehreren Überprüfungssteuerelementen verknüpfen. In diesem Fall werden die von den Steuerelementen durchgeführten Tests mit einem logischen AND aufgelöst. Die Dateneingabe des Benutzers muss alle Tests bestehen, um gültig zu sein.

In manchen Fällen können Eingaben in verschiedenen Formaten gültig sein. Wenn Sie z. B. zur Eingabe einer Telefonnummer auffordern, könnten Sie Benutzern die Eingabe einer Telefonnummer für Ortsgespräche, für Ferngespräche oder für Auslandsgespräche erlauben. Diese Situation tritt hauptsächlich dann ein, wenn die Eingabe auf bestimmte Muster aus Nummern oder Zeichen überprüft wird. Für diese Art von Test – einem logischen OR – verwenden Sie ein Überprüfungssteuerelement für Mustervergleiche und geben innerhalb des Steuerelements mehrere gültige Muster an. Die Verwendung mehrerer Überprüfungssteuerelemente würde in diesem Fall nicht funktionieren, weil sie mit einem logischen AND getestet werden.

Anzeigen von Fehlerinformationen

Überprüfungssteuerelemente sind im bereitgestellten Formular normalerweise nicht sichtbar. Wenn das Steuerelement jedoch einen Fehler feststellt, gibt es eine von Ihnen angegebene Fehlermeldung aus. Zum Anzeigen der Fehlermeldung stehen eine Reihe von Möglichkeiten zur Verfügung, die in der folgenden Tabelle aufgeführt sind.

Anzeigeoption Beschreibung
Am gleichen Ort Jedes Überprüfungssteuerelement kann eine Fehlermeldung oder ein Schriftzeichen am gleichen Ort separat anzeigen (in der Regel neben dem Steuerelement, bei dem der Fehler aufgetreten ist).
Zusammenfassung Überprüfungsfehler können gesammelt und an einer Stelle angezeigt werden, z. B. im oberen Bereich der Seite. Diese Strategie wird häufig verwendet, wenn neben den falsch ausgefüllten Eingabefeldern ein Schriftzeichen angezeigt wird. Wenn der Benutzer mit Internet Explorer 4.0 oder höher arbeitet, kann die Zusammenfassung in einem Meldungsfeld angezeigt werden.
Am gleichen Ort und in der Zusammenfassung Die Fehlermeldung kann in der Zusammenfassung und an Ort und Stelle unterschiedlich dargestellt werden. Sie können diese Option verwenden, um eine kürzere Fehlermeldung an Ort und Stelle und eine detailliertere in der Zusammenfassung anzuzeigen oder um ein Fehlerschriftzeichen neben dem Eingabefeld und eine Fehlermeldung in der Zusammenfassung anzuzeigen.
Benutzerdefiniert Sie können eine benutzerdefinierte Fehleranzeige erstellen, indem Sie die Fehlerinformationen erfassen und eine eigene Ausgabe entwerfen.

Wenn Sie Fehlermeldungen am selben Ort oder in einer Zusammenfassung anzeigen, können Sie den Text der Fehlermeldung mit HTML formatieren.

Sicherheitshinweis   Wenn Sie benutzerdefinierte Fehlermeldungen erstellen, sollten Sie keine Informationen anzeigen, die böswillige Benutzer bei einem Angriff auf die Anwendung unterstützen könnten. Weitere Informationen finden Sie unter Anzeigen von sicheren Fehlermeldungen.

Serverseitige und clientseitige Überprüfung

Überprüfungssteuerelemente führen im Servercode eine Eingabeüberprüfung durch. Wenn der Benutzer ein Formular an den Server sendet, werden die Überprüfungssteuerelemente aufgerufen, um die Benutzereingabe Steuerelement für Steuerelement zu überprüfen. Wenn in einem der Eingabesteuerelemente ein Fehler aufgetreten ist, wird die ganze Seite in einen ungültigen Zustand versetzt, so dass Sie vor dem Ausführen des Codes einen Gültigkeitstest durchführen können.

Wenn der Benutzer mit einem Browser arbeitet, der DHTML unterstützt, können die Überprüfungssteuerelemente unter Verwendung eines Clientskripts ebenfalls eine Überprüfung durchführen. Dies kann die Antwortzeit in der Seite erheblich verbessern; Fehler werden sofort erkannt, und Fehlermeldungen werden gleich angezeigt, nachdem der Benutzer das Steuerelement verlässt, das den Fehler enthält. Wenn die clientseitige Überprüfung verfügbar ist, können Sie das Layout von Fehlermeldungen besser kontrollieren und eine Fehlerzusammenfassung in einem Meldungsfeld anzeigen. Weitere Informationen finden Sie unter Clientseitige Überprüfung für ASP.NET-Serversteuerelemente.

Das Seitengerüst führt selbst dann eine Überprüfung auf dem Server durch, wenn die Überprüfungssteuerelemente bereits eine Überprüfung auf dem Client durchgeführt haben, so dass Sie innerhalb der serverbasierten Ereignishandler einen Gültigkeitstest durchführen können. Außerdem trägt es dazu bei, dass Benutzer die Gültigkeitsprüfung nicht umgehen können, indem sie das Clientskript deaktivieren oder ändern.

Überprüfungsobjektmodell

Sie können über das Objektmodell, das von einzelnen Überprüfungssteuerelementen und von der Seite offengelegt wird, mit Überprüfungssteuerelementen interagieren. Jedes Überprüfungssteuerelement legt seine eigene IsValid-Eigenschaft offen, die Sie daraufhin testen können, ob eine Gültigkeitsprüfung für das Steuerelement erfolgreich war oder fehlgeschlagen ist.

Auf Seitenebene können Sie auf eine weitere IsValid-Seiteneigenschaft zugreifen, die den IsValid-Status aller Überprüfungssteuerelemente der Seite zusammenfasst. Mit dieser Eigenschaft lässt sich mühelos ein Schnelltest durchführen, um zu prüfen, ob die eigene Verarbeitung sicher fortgesetzt werden kann.

Die Seite legt auch eine Validators-Auflistung offen, die eine Liste mit allen Überprüfungssteuerelementen der Seite enthält. Sie können diese Auflistung durchgehen, um den Status einzelner Überprüfungssteuerelemente zu prüfen.

Hinweis   Das Objektmodell für die clientseitige Überprüfung weist einige Unterschiede auf. Einzelheiten finden Sie unter Clientseitige Überprüfung für ASP.NET-Serversteuerelemente.

Benutzerdefinierte Überprüfung

Sie können den Überprüfungsprozess auf verschiedene Arten anpassen:

  • Sie haben die vollständige Kontrolle über Format, Text und Speicherort von Fehlermeldungen und können angeben, ob sie einzeln oder in zusammengefasster Form angezeigt werden.
  • Sie können eine benutzerdefinierte Überprüfung mit einem speziellen Steuerelement erstellen. Das Steuerelement ruft Ihre Logik auf, funktioniert aber wie andere Überprüfungssteuerelemente in Bezug auf das Festlegen des Fehlerstatus, das Anzeigen von Fehlermeldungen usw. Damit steht eine einfache Möglichkeit zur Verfügung, eine benutzerdefinierte Überprüfungslogik zu erstellen und dabei trotzdem zum Überprüfungsgerüst der Seite beizutragen.
  • Wenn Sie eine clientseitige Überprüfung angegeben haben, können Sie den Überprüfungsaufruf abfangen und ersetzen oder eine eigene Überprüfungslogik hinzufügen.

Programmgesteuerte Überprüfung

Standardmäßig führen Überprüfungssteuerelemente ihre Überprüfungen durch, wenn die Click-Ereignisse verarbeitet werden. Sie können allerdings jederzeit eine Überprüfung im Code durchführen, indem Sie die Validate-Methode eines Überprüfungssteuerelements aufrufen. Durch den Aufruf dieser Methode haben Sie die Möglichkeit, die Gültigkeit von Eigenschafteneinstellungen zu überprüfen, die programmgesteuert vorgenommen wurden. Sie könnten z. B. Daten von einem Benutzer mit einer anderen Methode als einer Web Forms-Seite sammeln, und die Eigenschaften der Serversteuerelemente anschließend programmgesteuert festlegen.

Weitere Informationen finden Sie unter Programmgesteuerte Überprüfung für ASP.NET-Serversteuerelemente.

Siehe auch

Überprüfen von Web Forms | Exemplarische Vorgehensweise: Überprüfen der Benutzereingabe in einer Web Forms-Seite