(0) exportieren Drucken
Alle erweitern

BaseValidator-Klasse

Aktualisiert: November 2007

Fungiert als abstrakte Basisklasse für Validierungssteuerelemente.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public abstract class BaseValidator : Label, 
	IValidator
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public abstract class BaseValidator extends Label implements IValidator
public abstract class BaseValidator extends Label implements IValidator
<asp:BaseValidator />

Die BaseValidator-Klasse stellt die Basisimplementierung für alle Validierungssteuerelemente bereit. Validierungssteuerelemente werden verwendet, um Benutzereingaben in einem zugeordneten Eingabesteuerelement zu überprüfen. Wenn ein Benutzer einen Wert eingibt, der die Validierung nicht besteht, zeigt das Validierungssteuerelement eine Fehlermeldung an. Da ein Validierungssteuerelement vom Eingabesteuerelement getrennt ist, können Sie die Fehlermeldung in Bezug auf das Eingangssteuerelement an beliebiger Stelle auf der Seite platzieren. In ASP.NET stehen mehrere Validierungssteuerelemente zur Verfügung, die bestimmte Typen von Validierungen ausführen. Diese Steuerelemente sind in der folgenden Tabelle beschrieben.

Validierungssteuerelement

Beschreibung

CompareValidator

Überprüft einen Wert anhand des in ein anderes Eingabesteuerelement eingegebenen Werts, anhand einer Konstante oder anhand eines Datentyps durch Festlegen der CompareValidator.Operator-Eigenschaft auf ValidationCompareOperator.DataTypeCheck.

CustomValidator

Überprüft einen Wert mit einer vom Benutzer bereitgestellten benutzerdefinierten Validierungsroutine.

RangeValidator

Überprüft, ob sich ein Wert innerhalb eines Wertebereichs befindet.

RegularExpressionValidator

Überprüft einen Wert anhand eines regulären Ausdrucks.

RequiredFieldValidator

Überprüft, ob in ein Pflichtfeld ein Wert eingegeben wurde.

Validierungssteuerelemente überprüfen stets das zugeordnete Eingabesteuerelement des Servers. Validierungssteuerelemente verfügen außerdem über eine vollständige Clientimplementierung, wodurch skriptfähige Browser (z. B. Microsoft Internet Explorer, Version 4.0 oder höher) die Validierung auf dem Client durchführen können. Durch die Validierung auf dem Client wird der Validierungsvorgang optimiert, indem Benutzereingaben vor dem Senden an den Server überprüft werden. Auf diese Weise werden Fehler auf dem Client vor dem Senden des Formulars entdeckt, wodurch der für die Validierung auf dem Server erforderliche Roundtrip vermieden wird.

Mit einem einzelnen Eingabesteuerelement können mehrere Validierungssteuerelemente verwendet werden, um verschiedene Kriterien zu überprüfen. Sie können z. B. mehrere Validierungssteuerelemente in einem TextBox-Steuerelement anwenden. Mithilfe des RangeValidator-Steuerelements können Sie sicherstellen, dass sich ein in das TextBox-Steuerelement eingegebener Wert in einem festgelegten Bereich befindet, und mithilfe eines RequiredFieldValidator-Steuerelements können Sie sicherstellen, dass der Benutzer einen Wert eingibt.

In ASP.NET sind viele Steuerelemente verfügbar, mit denen ein Postback zum Server ausgeführt werden kann. Wenn die CausesValidation-Eigenschaft eines dieser Steuerelemente auf true festgelegt ist, wird die Validierung durchgeführt, wenn das Steuerelement ein Postback zum Server durchführt. Die folgenden Steuerelemente können ein Postback zum Server durchführen:

fczazdzk.alert_note(de-de,VS.90).gifHinweis:

Einige dieser Steuerelemente führen nur dann ein Postback zum Server durch, wenn die AutoPostBack-Eigenschaft auf true festgelegt ist.

Diese Steuerelemente verfügen jeweils über eine ValidationGroup-Eigenschaft, die, sofern sie festgelegt ist, nur die Validierungssteuerelemente in der angegebenen Gruppe überprüft, wenn das Steuerelement ein Postback zum Server auslöst. Um Validierungssteuerelemente zu gruppieren, legen Sie die ValidationGroup-Eigenschaft jedes Validierungssteuerelements auf denselben Wert fest.

Mit der ControlToValidate-Eigenschaft können Sie einem Validierungssteuerelement ein Eingabesteuerelement zuordnen. Mit der Text-Eigenschaft können Sie den Text angeben, der in einem Validierungssteuerelement angezeigt werden soll, wenn die Validierung fehlschlägt. Mit dem ValidationSummary-Steuerelement können Sie auch eine Zusammenfassung aller Steuerelemente auf der Seite anzeigen, für die die Validierung fehlgeschlagen ist. Um den Text anzugeben, der in einem ValidationSummary-Steuerelement angezeigt werden soll, verwenden Sie die ErrorMessage-Eigenschaft.

fczazdzk.alert_note(de-de,VS.90).gifHinweis:

Wenn Sie die ErrorMessage-Eigenschaft festlegen, ohne die Text-Eigenschaft festzulegen, wird der Wert der ErrorMessage-Eigenschaft ebenfalls im Validierungssteuerelement angezeigt.

Wenn Sie Validierungssteuerelemente verwenden, sollten Sie immer die Ergebnisse der serverseitigen Validierung überprüfen, bevor weitere Verarbeitungen durchgeführt werden. Nach einem Postback, jedoch bevor die Ereignismethoden aufgerufen werden, werden die Validierungssteuerelemente der Seite aufgerufen, und die Ergebnisse werden in der Page.IsValid-Eigenschaft aggregiert. (Sie können die Validierungssteuerelemente auch explizit mit der Validate-Methode aufrufen.) Sie sollten in Ihrem Code vor dem Verarbeiten von Eingaben prüfen, ob die Page.IsValid-Eigenschaft true zurückgibt. Obwohl skriptfähige Browser ggf. verhindern können, dass ein Postback auf dem Client erfolgt, wenn die Validierung fehlgeschlagen ist, sollten Sie im Servercode dennoch auch stets Page.IsValid prüfen, bevor Sie validierte Daten verarbeiten.

Sie können die Validierung auch manuell durchführen. Mit der Page.Validate-Methode können Sie alle Validierungssteuerelemente auf der Seite überprüfen. Mit der Validate-Methode des Steuerelements können Sie einzelne Validierungssteuerelemente überprüfen.

fczazdzk.alert_note(de-de,VS.90).gifHinweis:

Wenn Sie die Page.IsValid-Eigenschaft in einer Page_Load-Methode verwenden, müssen Sie zunächst explizit die Page.Validate-Methode aufrufen. Da die Validierung nach dem Control.Load-Ereignis der Seite, jedoch noch vor dem Ereignishandler für das Click-Ereignis oder das Command-Ereignis vorgenommen wird, wird die Page.IsValid-Eigenschaft erst bei Aufruf der Page.Validate-Methode aktualisiert. Anstelle der Page_Load-Methode können Sie den Code alternativ im Ereignishandler für das Click-Ereignis oder das Command-Ereignis platzieren.

Nicht alle Webserver-Steuerelemente unterstützen Validierungssteuerelemente. Die Standardsteuerelemente, die mit einem Validierungssteuerelement überprüft werden können, sind:

fczazdzk.alert_note(de-de,VS.90).gifHinweis:

Zum Validieren eines Eingabesteuerelements muss dem Steuerelement das System.Web.UI.ValidationPropertyAttribute-Attribut zugeordnet werden.

fczazdzk.alert_note(de-de,VS.90).gifHinweis:

Wenn Sie Validierungssteuerelemente, die von BaseValidator abgeleitet sind, in einem UpdatePanel-Steuerelement verwenden, müssen Sie sicherstellen, dass sich das Validierungssteuerelement und das Steuerelement, das diesem zugeordnet ist, in demselben Bereich befinden. Weitere Informationen über das Verwenden des UpdatePanel-Steuerelements für Teilaktualisierungen von Seiten finden Sie unter Übersicht über das Teilrendering von Seiten.

Wenn die Validierung fehlschlägt, können Sie dem zugeordneten Eingabesteuerelement den Fokus geben, indem Sie die SetFocusOnError-Eigenschaft auf true festlegen.

Eine Liste der anfänglichen Eigenschaftenwerte für eine Instanz von BaseValidator finden Sie unter BaseValidator-Konstruktor.

Eingabehilfen

Das für dieses Steuerelement standardmäßig wiedergegebene Markup entspricht eventuell nicht den Standards für die Eingabehilfen wie beispielsweise den Richtlinien der Web Content Accessibility Guidelines 1.0 (WCAG) mit der Priorität 1. Details über die Unterstützung von Eingabehilfen für dieses Steuerelement finden Sie unter Steuerelemente und Eingabehilfen von ASP.NET.

Hinweise zur Vererbung:

Beim Erben von der BaseValidator-Klasse müssen Sie den folgenden Member überschreiben: EvaluateIsValid.

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe mehrerer Validierungssteuerelemente sichergestellt werden kann, dass der Benutzer einen gültigen Wert in ein TextBox-Steuerelement eingibt.

fczazdzk.alert_security(de-de,VS.90).gifSicherheitshinweis:

Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void Button_Click(Object sender, EventArgs e) 
  {
    if (Page.IsValid)
    {
      MessageLabel.Text = "Page submitted successfully.";
    }
    else
    {
      MessageLabel.Text = "There is an error on the page.";
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>Validator Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>Validator Example</h3>

      Enter a number from 1 to 10.
      <asp:textbox id="NumberTextBox" 
        runat="server"/>

      <asp:rangevalidator id="NumberCompareValidator" 
        controltovalidate="NumberTextBox"
        enableclientscript="False"  
        type="Integer"
        display="Dynamic" 
        errormessage="Please enter a value from 1 to 10."
        maximumvalue="10"
        minimumvalue="1"  
        text="*"
        runat="server"/>

      <asp:requiredfieldvalidator id="TextBoxRequiredValidator" 
        controltovalidate="NumberTextBox"
        enableclientscript="False"
        display="Dynamic" 
        errormessage="Please enter a value."
        text="*"
        runat="server"/>

      <br /><br />

      <asp:button id="SubmitButton"
        text="Submit"
        onclick="Button_Click"
        runat="server"/>

      <br /><br />

      <asp:label id="MessageLabel" 
        runat="server"/>

      <br /><br />

      <asp:validationsummary
        id="ErrorSummary"
        runat="server"/>

    </form>
  </body>
</html>



Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft