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.5 RangeValidator Mit dem RangeValidator können Sie sicherstellen, dass
| eine Eingabe zu einem bestimmten Datentyp gehört und
| der eingegebene Wert sich in einem vorher festgelegten Bereich bewegt.
Mit den Attributen MinimumValue und MaximumValue legen Sie den gültigen Bereich fest. Mit dem Attribut Type definieren Sie den Datentyp. In range01.aspx werden Schüler danach gefragt, welche Schulklasse sie besuchen. Für deutsche Verhältnisse sind ganze Zahlen von 1 bis 13 gültig.
    <!-- range01.aspx -->
    <% @Page debug="true" %>
    <html><head><title>Range-Validator</title></head><body>
    <h3>Range-Validator</h3>
    Hallo, Schüler,<br>
    in welche Klasse gehst Du?<br>
    <form runat="server">
    <input type="text" runat="server" id="eingabe">
    <input type="submit" value=" OK ">
    <asp:RangeValidator runat="server"
         id="myRangeCheck"
         ControlToValidate="eingabe"
         MinimumValue="1"
         MaximumValue="13"
         Type="Integer">
         <p>Bitte eine ganze Zahl zwischen 1 und 13
            eingeben.</p>
    </asp:RangeValidator>
    </form></body></html>
Hier klicken, um das Bild zu Vergrößern Abbildung 7.7 Mit dem RangeValidator legen Sie einen gültigen Bereich fest.
Attribut | Wert
--- | ---
id | Eindeutiger Bezeichner
ControlToValidate | id des zu überprüfenden Steuerelements
MinimumValue | Kleinster Wert
MaximumValue | Größter Wert
Type | Datentyp, auf den die Eingabe überprüft wird. Möglich sind String, Integer, Double, Date, Currency.
ErrorMessage | Fehlermeldung für ein ValidationSummary-Element
Text | Text der Fehlermeldung
Display | None | Static (Default) | Dynamic
EnableClientScript | true|false
ForeColor | Farbangabe
BackColor | Farbangabe
runat | server
Tabelle 7.4 Attribute des RangeValidator-Steuerelements Auf diese Weise können Sie beispielsweise auch nach Datumseingaben fragen und diese überprüfen. Datumskonstanten weisen Sie den Attributen MaximumValue und MinimumValue in der deutschen Schreibweise »TT.MM.JJJJ« zu:
    <asp:RangeValidator runat="server"
         id="myRangeCheck"
         ControlToValidate="eingabe"
         MinimumValue="1.1.1999"
         MaximumValue="31.12.2001"
         Type="Date">
    <p>Falsches Datum</p>
    </asp:RangeValidator>
Eine interessante Aufgabe ist es, den gültigen Bereich nicht in Form von fixen Werten, sondern variabel anzugeben. Wenn man beispielsweise nach dem Geburtsdatum einer lebenden Person fragt, dann ist als spätester Termin stets der heutige Tag und als frühester Termin ein Tag möglich, der maximal circa 120 Jahre in der Vergangenheit liegt. Dieser gültige Bereich verschiebt sich also täglich um einen Tag nach vorn. Offenkundig müssen Sie die begrenzenden Werte bei jedem Laden des Skripts neu berechnen, womit auch der Weg zur Realisierung vorgezeichnet ist: Sie weisen die aktuell gültigen Werte in der Ereignisprozedur Page_Load zu.
    <!-- range02.aspx -->
    <% @Page debug="true" %>
    <script runat="server">
    dim maxAlter as Integer
    Dim minDate as New DateTime
    dim maxDate as New DateTime

    Sub Page_Load()
        maxAlter = 120
        maxDate = DateTime.Today
        minDate = maxDate.addYears (-maxAlter)
        myRangeCheck.MinimumValue = minDate
        myRangeCheck.MaximumValue = maxDate
    End Sub
    </script>

    <html><head><title>Range-Validator</title></head><body>
    <h3>Range-Validator mit variabler Datumsangabe</h3>
    <form runat="server">
    Bitte geben Sie Ihr <b>Geburtsdatum</b> ein. <br><br>
    Sie können spätestens heute geboren worden sein.<br>
    Sie dürfen maximal <% = maxAlter %> Jahre alt sein.
    <br><br>
    Weil heute der <% = maxDate.ToShortDateString %> ist,
    muss Ihr Geburtsdatum zwischen dem <br>
    <% = minDate.ToShortDateString %> und dem
    <% = maxDate.ToShortDateString %> liegen.<br>
    <br>
    <input type="text" runat="server" id="eingabe">
    <input type="submit" value=" OK ">

    <asp:RangeValidator runat="server"
         id="myRangeCheck"
         ControlToValidate="eingabe"
         Type="Date">
    <p>Nein, das kann nicht Ihr Geburtsdatum sein. </p> <$tab>
    </asp:RangeValidator>
    </form></body></html>
Das Skript deklariert die Variablen minDate, maxDate und maxAlter außerhalb der Prozedur Page_Load, damit wir auch auf der übrigen Seite auf diese Variablen zugreifen können. Innerhalb von Page_Load erfolgt die Initialisierung dieser Variablen. Zunächst legen Sie das maximal erlaubte Alter fest. Die statische Methode Today liefert das aktuelle Datum. Mit minDate = maxDate.addYears (-maxAlter) können wir das Datum in der Vergangenheit berechnen. Dabei machen Sie sich das mathematische Prinzip zunutze, dass aus der Addition einer negativen Zahl eine Subtraktion resultiert. Anschließend weisen Sie die ermittelten Grenzwerte den Attributen des RangeValidator-Steuerelements zu. Falls Sie übrigens im Rahmen des Codes eine Datumskonstante zuweisen wollen, müssen Sie die Form
    myDate = #MM/TT/JJJJ#
verwenden. Wenn Sie das frühestmögliche Geburtsdatum konstant auf den 31.12.1850 setzen wollten, würde die VB.NET- Zeile also lauten:
    minDate = #12/31/1850#
<< 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