Die Validierung steuert das Testen von Benutzereingaben, das Festlegen von Fehlerzuständen und das Generieren von Fehlermeldungen. Sie verändern den Verarbeitungsablauf der Seite nicht, sie überspringen beispielsweise keinen Code, wenn ein Benutzereingabefehler erkannt wird. Stattdessen testen Sie den Status des Steuerelements im Code, bevor Sie die spezifische Logik Ihrer Anwendung ausführen. Wenn ein Fehler erkannt wird, wird Ihr eigener Code nicht ausgeführt; die Seite wird weiter verarbeitet und mit einer Fehlermeldung an den Benutzer zurückgegeben.
Sicherheitshinweis: Standardmäßig überprüfen ASP.NET-Webseiten automatisch, ob ein böswilliger Benutzer versucht, Skript- oder HTML-Elemente an Ihre Anwendung zu senden.
Sie können den allgemeinen seitenweiten Status und den Status einzelner Steuerelemente testen. Normalerweise tun Sie dies in dem Ereignishandler, den Sie für die Seite erstellen.
1. Testen Sie den allgemeinen Fehlerstatus
Testen Sie in Ihrem Code die IsValid-Eigenschaft der Seite. Diese Eigenschaft akkumuliert den Wert der IsValid-Eigenschaft aller Validierungssteuerelemente auf der Seite (mittels logischem UND). Wenn ein Validierungssteuerelement auf ungültig gesetzt ist, gibt die Eigenschaft der Seite „false“ zurück.
Beschreibung: Authentifizierungsinformationen sind während der Initialisierungs- oder Ladephase der Seite nicht verfügbar. Sie können die Validate-Methode jedoch während Page_Load manuell aufrufen und dann die IsValid-Eigenschaft der Seite testen.
Das folgende Codebeispiel demonstriert einen Ereignishandler für eine Schaltfläche. Dieser Code testet die IsValid-Eigenschaft der Seite. Beachten Sie, dass hier keine weiteren Klauseln erforderlich sind, da die Seite automatisch zum Browser zurückkehrt und die Validierungssteuerung eine eigene Fehlermeldung anzeigt.
void Button1_Click(object sender, System.EventArgs e)
{
if(IsValid)
{
// Hier Datenbankaktualisierungen oder andere Logik durchführen.
}
}
2. Testen Sie den Fehlerstatus einzelner Steuerelemente
Durcharbeiten Sie die Validators-Sammlung der Seite, die Verweise auf alle Validierungssteuerelemente enthält. Anschließend können Sie die IsValid-Eigenschaft jedes Validierungssteuerelements überprüfen.
Hinweis: Wenn Sie diese Prüfung während Page_Load durchführen möchten, müssen Sie zunächst die Validate-Methode manuell aufrufen.
Das folgende Codebeispiel zeigt, wie der Status eines einzelnen Validierungssteuerelements ermittelt wird.
if (this.IsPostBack)
{
this.Validate();
if (!this.IsValid)
{
string msg = "";
// Alle Validierungskontrollen durchlaufen, um zu sehen, welche
// hat die Fehler generiert.
foreach (IValidator aValidator in this.Validators)
{
if (!aValidator.IsValid)
{
msg += "
" + aValidator.ErrorMessage;
}
}
Label1.Text = msg;
}
}
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/dodream/archive/2009/12/17/5024643.aspx
-