Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel Validierung von Anwendereingaben
  gp 7.1 RequiredFieldValidator
    gp 7.1.1 Display-Attribut
    gp 7.1.2 InitialValue-Attribut
    gp 7.1.3 Die Fehlermeldung definieren
  gp 7.2 Das ValidationSummary-Steuerelement
  gp 7.3 Wie das Display-Attribut funktioniert
  gp 7.4 CompareValidator
    gp 7.4.1 Die Eingabe mit einem fixen Wert vergleichen
    gp 7.4.2 Zwei Eingabefelder miteinander vergleichen
    gp 7.4.3 Eine Typüberprüfung vornehmen
  gp 7.5 RangeValidator
  gp 7.6 RegularExpressionValidator
    gp 7.6.1 Reguläre Ausdrücke erstellen
    gp 7.6.2 Eingaben mit regulären Ausdrücken überprüfen
    gp 7.6.3 Konventionen für gültige Passwörter überprüfen
  gp 7.7 CustomValidator
    gp 7.7.1 Serverseitige Überprüfung
    gp 7.7.2 Eine clientseitige Überprüfung ergänzen


Galileo Computing

7.2 Das ValidationSummary-Steuerelement  toptop

Mit dem ValidationSummary-Steuerelement können Sie einen zusammenfassenden Fehler-Report zu allen Fehlern einer Seite erstellen. Mit dem Attribut HeaderText geben Sie diesem Fehler-Report einen einführenden Titel. Zu jedem Fehler gibt das ValidationSummary-Steuerelement diejenige Fehlermeldung aus, die die einzelnen Validierungssteuerelemente im Attribut MessageText festgelegt haben.

Mit dem Attribut DisplayMode legen Sie die Darstellungsform für die Aufzählung der diversen Fehler fest. Hier stehen die Werte BulletList (Punkt-Auflistung), List (einfache Auflistung) und SingleParagraph (ohne Punkt und Komma) zur Verfügung.

Wenn der Fehler-Report nicht als HTML-Code in die Seite eingefügt werden soll, gibt es die Option ShowMessageBox="true". Damit wird eine JavaScript-Alert-Box ausgelöst. In diesem Fall darf das Attribut EnableClientScript jedoch nicht auf false stehen. Wenn Sie das ValidationSummary-Steuerelement vom Code aus beeinflussen wollen, können Sie über das Attribut ShowSummary= "true|false" festlegen, ob der Fehler-Report angezeigt oder unterdrückt werden soll.

summary01.aspx zeigt hinter jedem Eingabefeld eine Meldung an. Im zusammenfassenden Fehler-Report erscheint außerdem jeweils die mit ErrorMessage definierte Fehlermeldung. Durch die Verwendung des Attributs DisplayMode="BulletList" werden die Fehler in der Form einer Punktaufzählung dargestellt. Abbildung 7.3 zeigt die Darstellung im Browser.

<!-- summary01.aspx -->
<% @Page debug="true" %>
<html><head>
<title>ValidationSummary-Demo</title></head><body>
<form runat="server">
<h3>ValidationSummary-Demo</h3>
Bitte füllen Sie alle Felder aus:<br>
Vorname: 
<input type="text" runat="server" id="txtVorname">
<asp:RequiredFieldValidator  
     ControlToValidate="txtVorname"  
     runat="server"
     ErrorMessage="Der Vorname fehlt.">
     Bitte geben Sie den Vornamen an.
</asp:RequiredFieldValidator><br> 
Nachname: 
<input type="text" runat="server" id="txtNachname">
<asp:RequiredFieldValidator  
     ControlToValidate="txtNachname"  
     runat="server"
     ErrorMessage="Der Nachname fehlt.">
     Bitte geben Sie den Nachnamen an.
</asp:RequiredFieldValidator> <br>
<input type="submit" runat="server" value="  OK  "><br>
<asp:ValidationSummary
     runat="server"
     HeaderText="Bitte <b>korrigieren</b> Sie folgende 
                 Fehler:"
     ShowSummary="true"
     DisplayMode="BulletList"
/>
</form></body></html>

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 7.3 Das ValidationSummary-Steuerelement fasst alle Eingabefehler einer Seite zusammen.

Offenkundig übertreibt dieses Beispiel aber die Möglichkeit, Fehlermeldungen auszugeben, denn die Seite wirkt völlig überfrachtet.


Tipp   Wem es hier zu bunt wird, dem sei folgende Lösung vorgeschlagen: Fehlerhafte Felder werden lediglich mit einem kleinen Signal, z. B. einem roten Asterisk oder einer kleinen Grafik markiert. Als Zusammenfassung wird nur der Hinweis ausgegeben, dass der Anwender die markierten Felder überprüfen möge. Für viele Fälle dürfte diese Methode ausreichen.

Zu diesem Zweck lassen Sie bei den RequiredFieldValidator-Steuerelementen das ErrorMessage-Attribut weg und geben als Wert für das Text-Attribut (beziehungsweise zwischen dem öffnenden und dem schließenden Tag des jeweiligen RequiredFieldValidator-Steuerelements) lediglich ein * beziehungsweise ein entsprechend geeignetes img-Tag an. Web-Designern bietet sich hier die Herausforderung, ein aussagekräftiges Icon zu entwerfen. summary02.aspx enthält den geänderten Code und Abbildung 7.4 zeigt die Darstellung im Browser.

<!-- summary02.aspx -->
<% @Page debug="true" %>
<html><head>
<title>ValidationSummary-Demo</title></head><body>
<form runat="server">
<h3>ValidationSummary-Demo</h3>
Bitte füllen Sie alle Felder aus:<br>
Vorname: 
<input type="text" runat="server" id="txtVorname">
<asp:RequiredFieldValidator  
     ControlToValidate="txtVorname"  
     runat="server">
     <img src="img/achtung.gif" width="10" height="10" 
          alt="Bitte korrigieren">
</asp:RequiredFieldValidator><br> 
Nachname: 
<input type="text" runat="server" id="txtNachname">
<asp:RequiredFieldValidator  
     ControlToValidate="txtNachname"  
     runat="server">
     <img src="img/achtung.gif" width="10" height="10" 
          alt="Bitte korrigieren">
</asp:RequiredFieldValidator> <br>
<input type="submit" runat="server" value="  OK  "><br>
<br>
<asp:ValidationSummary
     runat="server"
     HeaderText='Bitte korrigieren Sie die Felder, 
                 die mit <img src="img/achtung.gif" 
                 width="10" height="10" 
                 alt="Bitte korrigieren"> 
                 markiert sind.'
/>
</form></body></html>

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 7.4 Mangelhafte Eingaben werden markiert. Die Zusammenfassung erklärt die Markierung.


Attribut Wert
id Eindeutiger Bezeichner
DisplayMode BulletList | List | SingleParagraph
EnableClientScript true | false
ShowSummary true | false
ShowMessageBox true | false
HeaderText Überschrift
runat server
ForeColor Farbangabe, z. B. ForeColor="Blue"
BackColor Farbangabe, z. B. BackColor="#FFAA33"

Tabelle 7.2 Attribute von asp:ValidationSummary

Wenn Sie das Attribut ShowMessageBox="true" verwenden, dann erscheint die summierende Fehlermeldung zusätzlich in einem JavaScript-Dialogfeld in Kombination mit einem alarmierenden Piepton. In diesem Fall ist unter Umständen auch die Option ShowSummary="false" sinnvoll, denn sonst erscheint die Fehlermeldung sowohl direkt auf der Seite als auch im JavaScript-Dialogfeld.


Achtung   Wenn Sie die Meldung in einem JavaScript-Dialogfeld anzeigen lassen, können Sie innerhalb des Wertes für das Attribut HeaderText keine HTML-Auszeichnungen und also auch keine img-Elemente verwenden.

  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de