Clientseitige Validierung für ASP.NET-Serversteuerelemente
Aktualisiert: November 2007
Wenn der Benutzer mit einem Browser arbeitet, der Dynamic HTML (DHTML) unterstützt, können ASP.NET-Validierungssteuerelemente mithilfe eines Clientskripts eine Validierung durchführen. Da die Steuerelemente sofort – d. h. ohne Roundtrip zum Server – eine Rückmeldung liefern, kann der Benutzer besser mit der Seite arbeiten.
In den meisten Fällen sind für die clientseitige Validierung keine Änderungen an der Seite oder den Validierungssteuerelementen erforderlich. Die Steuerelemente erkennen automatisch, ob der Browser DHTML unterstützt, und führen anschließend eine entsprechende Prüfung durch. Die clientseitige Validierung verwendet denselben Fehleranzeigemechanismus wie die serverseitige Validierung.
Sicherheitshinweis: |
---|
Validierung wird auch dann auf dem Server durchgeführt, wenn sie bereits auf dem Client durchgeführt worden ist. Auf diese Weise können Sie den Validierungsstatus im Servercode bestimmen und sicherstellen, dass die clientseitige Validierung nicht von den Benutzern umgangen wird. |
Unterschiede bei der clientseitigen Validierung
Die Validierungssteuerelemente bieten bei clientseitiger Validierung einige zusätzliche Features:
Wenn Validierungsfehlermeldungen zusammengefasst werden, können Sie diese in einem Meldungsfeld anzeigen, das erscheint, wenn der Benutzer die Seite übermittelt. Ausführliche Informationen finden Sie unter Gewusst wie: Steuern der Anzeige von Validierungsfehlermeldungen für ASP.NET-Serversteuerelemente.
Das Objektmodell für Validierungssteuerelemente ist auf dem Client etwas anders. Weitere Informationen finden Sie unter Objektmodell für Clientvalidierung weiter unten in diesem Thema.
Bei der clientseitigen Validierung gibt es einige kleinere Unterschiede:
Wenn die clientseitige Validierung aktiviert ist, enthält die Seite Verweise zu Skriptbibliotheken, die zum Durchführen der clientseitigen Validierung verwendet werden.
Wenn Sie ein RegularExpressionValidator-Steuerelement verwenden, können die Ausdrücke auf dem Client überprüft werden. Voraussetzung ist die Verfügbarkeit einer ECMAScript-kompatiblen Sprache (z. B. Microsoft JScript). Die clientseitige Überprüfung mit regulären Ausdrücken unterscheidet sich in Einzelheiten von der Überprüfung mit regulären Ausdrücken auf dem Server mithilfe der Regex-Klasse.
Die Seite enthält eine clientseitige Methode, um das Click-Ereignis vor dem Übermitteln der Seite abzufangen und zu behandeln.
Objektmodell für Clientvalidierung
Validierungssteuerelemente haben auf dem Client fast dasselbe Objektmodell wie auf dem Server. So können Sie z. B. die Validierung prüfen, indem Sie die IsValid-Eigenschaft eines Validierungssteuerelements auf dem Client und dem Server auf dieselbe Weise abrufen.
Auf Seitenebene gibt es jedoch Unterschiede bei den verfügbar gemachten Validierungsinformationen. Auf dem Server unterstützt die Seite Eigenschaften; auf dem Client enthält sie globale Variablen. Die folgende Tabelle zeigt einen Vergleich der Informationen, die auf der Seite verfügbar gemacht werden.
Variable auf Clientseite |
Eigenschaft auf Serverseite |
---|---|
Page_IsValid |
IsValid |
Page_Validators (Array): Enthält Verweise auf alle Validierungssteuerelemente auf der Seite. |
Validators (Auflistung): Enthält Verweise auf alle Validierungssteuerelemente. |
Page_ValidationActive: Ein boolescher Wert, der angibt, ob eine Validierung stattfinden soll. Legen Sie diese Variable auf false fest, um die clientseitige Validierung programmgesteuert zu deaktivieren. |
(kein Äquivalent) |
Hinweis: |
---|
Alle seitenbezogenen Validierungsinformationen müssen als schreibgeschützt betrachtet werden. |
Übermitteln von Seiten mit clientseitigen Validierungsfehlern
In einigen Fällen bietet es sich an, nur die serverseitige Validierung und keine clientseitige Validierung zu verwenden, auch wenn die clientseitige Validierung verfügbar ist. Eine clientseitige Validierung ist z. B. nicht möglich, wenn die Validierung Informationen oder Ressourcen benötigt, die nur auf dem Server zur Verfügung stehen (z. B. Zugriff auf eine Datenbank).
Standardmäßig kann bei der clientseitigen Validierung die Seite nicht an den Server übermittelt werden, wenn die Seite Fehler enthält. Möglicherweise halten Sie es jedoch für notwendig, dass der Benutzer auch eine fehlerhafte Seite übermitteln kann. Dies kann z. B. der Fall sein, wenn eine Seite über eine Schaltfläche Abbrechen oder eine Navigationsschaltfläche verfügt und die Seite auch dann von der Schaltfläche gesendet werden soll, wenn die Validierung einiger Steuerelemente fehlschlägt. Weitere Informationen finden Sie unter Gewusst wie: Deaktivieren der Validierung für ASP.NET-Serversteuerelemente.
Siehe auch
Konzepte
Arten der Validierung für ASP.NET-Serversteuerelemente