Anthony Moore
Microsoft Corporation
Oktober 2000
Zusammenfassung: Eine detaillierte Erklärung zur Verwendung von ASP+, um Websteuerelemente zu überprüfen
Einführung
In diesem Artikel wird ausführlich erläutert, wie ASP+ Überprüfung funktioniert. Wenn Sie eine komplexe Seite mit Überprüfungskontrollen generieren möchten oder das Verifizierungs -Framework erweitern möchten, wird Ihnen empfohlen, diesen Artikel zu lesen. Wenn Sie lernen möchten, Überprüfungssteuerungen zu verwenden oder zu entscheiden, ob Überprüfungssteuerungen verwendet werden, siehe "Benutzereingabeverifizierung in ASP+ (Englisch)".
Erste Schritte
Wir wissen, dass es während des gesamten ASP+ -entwicklungsprozesses wichtig ist, die Überprüfung zu verstehen. Wenn Sie sich heute die meisten kommerziellen Websites ansehen, werden Sie feststellen, dass es auf diesen Websites viele Formulare gibt, die offensichtlich validiert werden, indem viele handgeschriebene Code ausgeführt werden. Das Schreiben von Verifizierungscode ist kein interessanter Job. Es ist möglicherweise ansprechend, wenn Sie Code schreiben möchten, um Datentabellen anzuzeigen oder Diagramme im laufenden Fliegen zu generieren. Niemand kann seinen Kollegen bestätigen, dass dieser "coole" Ansatz die Werte in das Feld Name verbieten kann.
Aus anderen Gründen ist die Überprüfung der Webanwendungen auch sehr problematisch. HTML 3.2 verfügt über viele Einschränkungen für Inhalte, die Sie steuern oder Feedback von Benutzern erhalten können. Daher können sie keine Techniken anwenden, die für voll funktionsfähigere Clients verwendet werden können, z. B. den Benutzern, um bestimmte Zeichen oder Piepton einzugeben. Die Verwendung von Browser -Skripten kann zu einer stärkeren Überprüfung führen. Diese Methode ist jedoch schwer zu beweisen, da es im Browser des Kunden nicht unbedingt Skripte gibt und böswillige Benutzer sie umgehen können. Um die Sicherheit der Website zu gewährleisten, müssen daher dieselbe Inspektion auf dem Server durchführen.
Bei der Entwicklung von ASP+bestand unsere ursprüngliche Absicht darin, nur eine Steuerung zu verwenden, um die Überprüfung zu verarbeiten, was möglicherweise eine Textbox -Steuerung gewesen sein könnte, die Fehler anzeigen könnte. Aber als ich die Kontrolle entworfen hatte, stellte ich fest, dass dieser Wunsch nicht realisiert werden konnte. Wir haben uns eine große Anzahl von Dateneintragsformularen angesehen und versucht, eine Lösung zu finden, die mit möglichst vielen Formen funktionieren könnte. Wir haben festgestellt, dass Dateneintragsformulare viele interessante Funktionen haben:
Obwohl Fehlermeldungen oder Symbole häufig an das Eingangselement angrenzen, befinden sie sich fast immer in verschiedenen Zellen der Tabelle.
Auf der Seite gibt es häufig einen Bereich, um alle Fehler zusammenzufassen.
Viele Websites enthalten Client -Skripte, um ein schnelleres Feedback zu geben und gleichzeitig zu verhindern, dass vergeblich mit dem Server hin und her geht.
Viele Websites, die Client -Skripte enthalten, zeigen Informationsfelder an, wenn Fehler auftreten.
Die Texteingabespräparate überprüft nicht nur, sondern auch Dropdown-Listen und Optionsfelder.
Wenn ein Feld leer ist, zeigt die Site normalerweise eine andere Nachricht oder ein anderes Symbol an, als wenn der Eintrag ungültig ist.
Viele Gültigkeitsprüfungen sind ein guter Ersatz für häufig verwendete Ausdrücke.
Die Überprüfung basiert normalerweise auf dem Vergleich zwischen zwei Eingängen.
90% oder mehr der Überprüfungsaufgaben sind gängige Operationen wie das Überprüfen von Namen oder Postcodes. Die meisten Websites scheinen diese Arbeiten immer noch wiederholt zu erledigen.
Da die Unterschiede zwischen den Standorten oft zu groß sind, um eine perfekte Lösung für alle Überprüfungsaufgaben für jeden Standort zu erhalten.
Unter Berücksichtigung der oben genannten Berücksichtigung enthielt die endgültige Lösung fünf Validator -Steuerelemente, das Validierungsumfang und die Integration in das Seitenobjekt. Es ist auch offensichtlich, dass die Lösung erweitert werden muss und eine API sowohl für den Client als auch auf dem Server zur Zusammenarbeit erforderlich ist.
Wir haben durch verschiedene Validierungen in unserer Forschung festgestellt, dass wir eine größere Toolbox benötigen. In den meisten Komponentenumgebungen wie Microsoft® ActiveX® haben wir möglicherweise versucht, die gesamte Funktionalität der Verifizierungsregelung in eine Steuerung zu integrieren und verschiedene Eigenschaften in verschiedenen Modi zu behandeln. Glücklicherweise gibt es jedoch eine magische Vererbung im Microsoft® .NET -Framework, das eine Reihe von Steuerelementen bereitstellt, um eine spezifische Validierung spezifischer Eigenschaften durchzuführen, da der zusätzliche Aufwand für die Ableitung jeder neuen Steuerung sehr gering ist.
Die meisten Arbeiten dieser Kontrollen werden in ihrem gemeinsamen übergeordneten Basisvalidator implementiert. Sie können auch vom Basisvalidator oder anderen Steuerelementen abgeleitet werden, um alle Arbeiten zu erledigen. Tatsächlich ist sogar Basisvalidator zu faul, um eine eigene Texteigenschaft zu implementieren, erbt jedoch von der Label -Eigenschaft.
Wann und was ist passiert?
Das Verständnis der Abfolge der Ereignisse ist sehr effektiv, wenn Sie mit Seiten mit Seiten der Validierungs -Web -Steuerelemente arbeiten. Wenn eine Überprüfungsbedingung optional ist, müssen Sie genau wissen, wann die Überprüfung auf dem Client und Server durchgeführt wird. Wenn Sie Ihre eigene Überprüfungsroutine schreiben möchten, kann dies sehr zeitaufwändig sein oder Nebenwirkungen haben. Gleichzeitig ist es auch wichtig, den Zeitpunkt der Aufruf der Verifizierungsroutine zu verstehen.
Schauen wir uns zunächst den Server an.