Inhalt
Vorwort
1 Wie .NET und ASP.NET funktionieren
2 Installation
3 Hinweise zu VB.NET
4 »Hallo, Welt!« – Ein ASP.NET-Crashkurs
5 Die Page-Klasse
6 HTML-Serversteuerelemente
7 Validierung von Anwendereingaben
8 Webserversteuerelemente
9 Webserversteuerelemente für die Darstellung von Listen
10 Webserversteuerelemente selbst erstellen
11 Der Status von Seiten, Sitzungen und Applikationen
12 ASP.NET und Datenbanken
13 »Wer darf was?« ASP.NET und Sicherheit
14 Webanwendungen erstellen und konfigurieren
15 Leistungssteigerung durch Caching
16 Web Services
A Anhang
Index
Download (ca 14,3 MB)
Buch bestellen (29,90 EUR)
Ihre Meinung?@
<< zurück | Galileo Computing / <openbook> / Einstieg in ASP.NET | vor >>
Einstieg in ASP.NET von Matthias Lohrer
| Kapitel 7 Validierung von Anwendereingaben
|  | 7.1 RequiredFieldValidator
|  |  | 7.1.1 Display-Attribut
|  |  | 7.1.2 InitialValue-Attribut
|  |  | 7.1.3 Die Fehlermeldung definieren
|  | 7.2 Das ValidationSummary-Steuerelement
|  | 7.3 Wie das Display-Attribut funktioniert
|  | 7.4 CompareValidator
|  |  | 7.4.1 Die Eingabe mit einem fixen Wert vergleichen
|  |  | 7.4.2 Zwei Eingabefelder miteinander vergleichen
|  |  | 7.4.3 Eine Typüberprüfung vornehmen
|  | 7.5 RangeValidator
|  | 7.6 RegularExpressionValidator
|  |  | 7.6.1 Reguläre Ausdrücke erstellen
|  |  | 7.6.2 Eingaben mit regulären Ausdrücken überprüfen
|  |  | 7.6.3 Konventionen für gültige Passwörter überprüfen
|  | 7.7 CustomValidator
|  |  | 7.7.1 Serverseitige Überprüfung
|  |  | 7.7.2 Eine clientseitige Überprüfung ergänzen
## 7.3 Wie das Display-Attribut funktioniert Solange Sie nur wenige Eingabefelder haben, die untereinander angeordnet sind, werden Ihnen die Fehlermeldungen neben den Eingabefeldern kein Problem bereiten. Anders sieht es aus, wenn Sie ein komplexes Formular mit vielen Eingabefeldern entwerfen, dessen Steuerelemente durch die Ausgabe der Fehlermeldungen nicht wild durcheinander geworfen werden sollen. In diesem Zusammenhang ist es wichtig, zu verstehen, wie das Display-Attribut die Darstellung beeinflusst. Display01.aspx enthält ein Formular, das zwei Eingabefelder nebeneinander anordnet. Abbildung 7.5 zeigt die Darstellung im Browser.
    <!-- Display01.aspx -->
    <% @Page debug="true" %>
    <html><head>
    <title>Display-Attribut</title></head><body>
    <form runat="server">
    Bitte füllen Sie alle Felder aus:<br><br>
    Vorname:
    <input type="text" runat="server" id="txtVorname">
    Nachname:
    <input type="text" runat="server" id="txtNachname">
    <input type="submit" runat="server" value="  OK  ">
    </form></body></html>
Hier klicken, um das Bild zu Vergrößern Abbildung 7.5 Dieses Formular enthält noch keine Validierungssteuerelemente. In der Seite Display02.aspx fügen Sie für jedes Eingabefeld ein RequiredFieldValidator-Steuerelement hinzu.
    <!-- Display02.aspx -->
    <% @Page debug="true" %>
    <html><head>
    <title>Display-Attribut</title></head><body>
    <form runat="server">
    Bitte füllen Sie alle Felder aus:<br><br>
    Vorname:
    <input type="text" runat="server" id="txtVorname">
    <asp:RequiredFieldValidator
         ControlToValidate="txtVorname"
         runat="server">
         Bitte geben Sie den Vornamen an.
    </asp:RequiredFieldValidator>
    Nachname:
    <input type="text" runat="server" id="txtNachname">
    <asp:RequiredFieldValidator
         ControlToValidate="txtNachname"
         runat="server">
         Bitte geben Sie den Nachnamen an.
    </asp:RequiredFieldValidator>
    <input type="submit" runat="server" value="  OK  ">
    </form></body></html>
Abbildung 7.6 zeigt die Darstellung im Browser, die aber etwas verrutscht wirkt. Hier klicken, um das Bild zu Vergrößern Abbildung 7.6 Die Validierungssteuerelemente lassen das Layout verrutschen. Wenn Sie einen Blick in den generierten HTML-Code werfen, wird klar, wie diese Verwerfungen zustande kommen:
    [... ]
    Vorname:
    <input name="txtVorname" id="txtVorname" type="text" />
    <span id="_ctl1" controltovalidate="txtVorname"
    evaluationfunction="RequiredFieldValidatorEvaluateIsValid"
    initialvalue="" style="color:Red;visibility:hidden;">
         Bitte geben Sie den Vornamen an.
    </span>
    Nachname:
    [...]
Die Fehlermeldungen sind bereits im HTML-Code enthalten, werden aber durch die CSS-Anweisung visibility:hidden unsichtbar gemacht. Platz benötigen die Fehlermeldungen dabei aber immer noch. So entstehen die großen »Löcher« zwischen den Formularelementen. Wenn Sie nicht möchten, dass der Fehlertext als unsichtbarer Platzhalter eingefügt wird, könnten Sie auf die Idee kommen, im Validierungssteuerelement das Attribut Display="dynamic" zu verwenden statt dem voreingestellten Wert Display="static". Anschließend sieht das Formular zunächst so aus wie der ursprüngliche HTML-Entwurf. Sobald aber ein Fehler auftritt, wird die Meldung hinter das entsprechende Feld geschrieben, womit der Formularentwurf erneut durcheinander gebracht wird.
Tipp Langer Rede kurzer Sinn: Wenn Sie 1. hinter den Eingabefeldern Fehlermeldungen anbringen möchten, aber 2. nicht möchten, dass dadurch das Formularlayout durcheinander kommt, dann müssen Sie das Formular so entwerfen, dass Sie von Anfang an einen Platz für die Fehlermeldungen vorsehen. In diesem Fall ist auch die Standardeinstellung Display="static" die sinnvollere Option, weil dann garantiert nichts mehr durcheinander geworfen werden kann. Man muss ja nicht unbedingt hinter jede mangelhafte Eingabe gleich einen Roman schreiben. Eine kleine Markierung in Verbindung mit einem zentralen Hinweis wird oft ausreichen.
<< zurück | <top> | vor >>
Zum Katalog
Einstieg in ASP.NET bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung

.NET-Bibliothek
| Einstieg in VB.NET
| VB.NET
| Einstieg in C#
| Visual C#
| VB.NET und Datenbanken

Empfehlung
| Einstieg in XML

Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

MyGalileo
Der Service für registrierte Leser: Info

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