Inhaltsverzeichnis
Key Takeaways
HTML5 -Eingangsfelder
HTML -Ausgangsfelder
Erstellen benutzerdefinierter JavaScript -Eingänge
1. Standardkontrollen sind schwer zu stylen
JavaScript und die Einschränkungsvalidierungs -API
Formularvalidierung
Feldvalidierung
Erstellen eines benutzerdefinierten Formulars Validator
Form Finesse
Wie verbessert HTML5 die Formularvalidierung? Beispielsweise bietet es neue Eingangstypen wie E -Mail, URL und Nummer, die die Eingabedaten automatisch basierend auf dem Typ validieren. Außerdem werden neue Attribute wie Erforderliche, Muster und Min/Max eingeführt, mit denen Sie verschiedene Einschränkungen für die Eingabedaten angeben können. Darüber hinaus bietet HTML5 eine integrierte Validierungs-API, mit der Sie eine benutzerdefinierte Validierung mit JavaScript durchführen können. allein. HTML5 bietet mehrere neue Eingangstypen und -attribute, mit denen Sie verschiedene Einschränkungen für die Eingabedaten angeben können. Beispielsweise können Sie das erforderliche Attribut verwenden, um ein Feld obligatorisch zu gestalten, das Musterattribut, um ein bestimmtes Format durchzusetzen, und die min/max -Attribute, um einen Bereich für numerische Eingaben festzulegen. Für eine komplexere Validierung müssen Sie jedoch JavaScript möglicherweise weiterhin verwenden. Fehlermeldungen. Sie können die SetCustomvalidity -Methode des ValidityState -Objekts verwenden, um eine benutzerdefinierte Fehlermeldung für ein Feld festzulegen. Diese Methode enthält ein String -Argument, das zur Validierungsnachricht des Feldes wird, wenn das Feld ungültig ist. Sie können diese Methode als Antwort auf das ungültige Ereignis aufrufen, das bei der Versäumnis eines Feldes ausgelöst wird. Novalidate Attribut zum Formularelement. Wenn dieses Attribut vorhanden ist, führt der Browser keine Validierung des Formulars durch, wenn es eingereicht wird. Dies kann nützlich sein, wenn Sie die Validierung vollständig auf der serverseitigen oder benutzerdefinierten JavaScript verarbeiten möchten. um mehrere Felder gemeinsam zu validieren. Sie können dies jedoch mit JavaScript erreichen. Sie können eine benutzerdefinierte Validierungsfunktion schreiben, die die Werte mehrerer Felder überprüft und eine benutzerdefinierte Gültigkeitsnachricht festlegt, wenn sie nicht die erforderlichen Kriterien erfüllen. Sie können diese Funktion als Antwort auf das Subjektereignis des Formulars oder die Eingabe-/Änderungsereignisse des Felders aufrufen. Bietet keine integrierte Möglichkeit, ein Feld basierend auf dem Wert eines anderen Feldes zu validieren. Sie können dies jedoch mit JavaScript erreichen. Sie können eine benutzerdefinierte Validierungsfunktion schreiben, die den Wert eines Feldes gegen den Wert eines anderen Feldes überprüft und eine benutzerdefinierte Gültigkeitsnachricht festlegt, wenn diese nicht übereinstimmen. Sie können diese Funktion als Antwort auf die Eingabe-/Änderungsereignisse der Felder aufrufen.
Wie kann ich eine asynchrone Validierung in HTML5 durchführen? Sie können dies jedoch mit JavaScript erreichen. Sie können eine benutzerdefinierte Validierungsfunktion schreiben, die einen asynchronen Vorgang wie eine AJAX -Anforderung ausführt und eine benutzerdefinierte Gültigkeitsnachricht basierend auf dem Ergebnis festlegt. Sie können diese Funktion als Antwort auf die Eingabe-/Änderungsereignisse der Felder oder das Sendenereignis des Formulars aufrufen. Nachrichten in der HTML5 -Formularvalidierung werden vom Browser bestimmt und können nicht direkt mit CSS gestylt werden. Sie können jedoch benutzerdefinierte Fehlermeldungen mit JavaScript erstellen und sie nach möchten. Sie können die Validierungs -API verwenden, um festzustellen, wann ein Feld ungültig ist, und eine benutzerdefinierte Fehlermeldung entsprechend anzeigen. Ein HTML -Formular durch Eingabe verschiedener Datenarten in die Felder und versucht, das Formular einzureichen. Sie sollten sowohl gültige als auch ungültige Daten testen, um sicherzustellen, dass die Validierung in allen Fällen korrekt funktioniert. Sie können auch automatisierte Testwerkzeuge oder Bibliotheken verwenden, um umfassendere Tests durchzuführen.
Heim Web-Frontend CSS-Tutorial Die vollständige Anleitung zu HTML -Formularen und Einschränkungsvalidierung

Die vollständige Anleitung zu HTML -Formularen und Einschränkungsvalidierung

Feb 10, 2025 am 08:27 AM

Die vollständige Anleitung zu HTML -Formularen und Einschränkungsvalidierung

In diesem Artikel betrachten wir die HTML -Formularfelder und die von HTML5 angebotenen Validierungsoptionen. Wir werden uns auch ansehen, wie diese durch die Verwendung von CSS und JavaScript verbessert werden können.

Key Takeaways

  • HTML5 verbessert die Formularvalidierung durch Einführung neuer Eingangstypen und -attribute, die viele Validierungsprozesse automatisieren und die Notwendigkeit eines umfangreichen JavaScripts verringern.
  • Einschränkungsvalidierung in HTML5 ermöglicht es Browsern, die Benutzereingaben automatisch gegen bestimmte Regeln vor der Einreichung zu überprüfen und die Benutzererfahrung und die Datenintegrität zu verbessern.
  • clientseitige Validierung, obwohl sie hilfreich sind, um gemeinsame Fehler zu erfassen, muss mit der serverseitigen Validierung ergänzt werden, um die Sicherheit und Integrität der Daten zu gewährleisten.
  • benutzerdefinierte JavaScript -Eingaben sollten nach Möglichkeit vermieden werden, da sie die Zugänglichkeit komplizieren und mit nativen Browserfunktionen in Konflikt stehen.
  • CSS kann verwendet werden, um Eingabefelder basierend auf ihrem Validierungszustand zu stylen, mit Pseudoklassen wie: gültig und: ungültig, sodass dynamisches Feedback zu Benutzereingaben.
  • Die Einschränkungsvalidierungs -API in HTML5 ermöglicht benutzerdefinierte Validierungsszenarien, die HTML allein nicht verarbeiten kann, z.
Was ist die Einschränkungsvalidierung?

Jedes Formfeld hat einen Zweck. Und dieser Zweck wird häufig von Krankenstägern oder den Regeln geregelt, die das regeln, was in jedes Feld "jedes Formular" eingegeben werden sollte und nicht. Beispielsweise erfordert ein E -Mail -Feld eine gültige E -Mail -Adresse. Für ein Kennwortfeld ist möglicherweise bestimmte Arten von Zeichen erforderlich und verfügt über eine minimale Anzahl der erforderlichen Zeichen. und ein Textfeld könnte eine Grenze dafür haben, wie viele Zeichen eingegeben werden können.

moderne Browser können überprüfen, ob diese Einschränkungen von den Benutzern beobachtet werden, und können sie warnen, wenn diese Regeln verletzt wurden. Dies wird als Fortschrittsvalidierung bezeichnet.

clientseitig gegen serverseitige Validierung

Der Großteil des JavaScript-Codes, der in den frühen Jahren der Sprache geschrieben wurde, handhabte die validierende Formformulare. Noch heute verbringen Entwickler erhebliche Zeit mit dem Schreiben von Funktionen, um die Feldwerte zu überprüfen.

Ist das in modernen Browsern noch notwendig? Wahrscheinlich nicht . In den meisten Fällen hängt es wirklich davon ab, was Sie tun möchten.

Aber zuerst hier eine große Warnmeldung:

clientseitige Validierung ist eine Schönheit, die vorhanden gängige Dateneingängefehler verhindern kann, bevor eine App Zeit und Bandbreite verschwendet, die Daten an einen Server senden. Es ist kein Ersatz für die serverseitige Validierung!

sanitieren Sie die Datenserver-Seite immer. Nicht jede Anfrage kommt von einem Browser. Selbst wenn dies der Fall ist, gibt es keine Garantie dafür, dass der Browser die Daten validiert hat. Jeder, der weiß, wie man die Entwickler -Tools eines Browsers öffnet, kann auch Ihre liebevoll gestaltete HTML und JavaScript umgehen.

HTML5 -Eingangsfelder

HTML -Angebote:

  • für… buttons

, aber Sie verwenden am häufigsten:

<span><span><span><input</span> type<span>="text"</span> name<span>="username"</span> /></span>
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Das Typ -Attribut legt den Steuertyp fest und es gibt eine große Auswahl an Optionen:

Typ Beschreibung Taste Eine Taste ohne Standardverhalten Kontrollkästchen Ein Kontrollkästchen für Check/Tick Farbe ein Farbwähler Datum Ein Date -Picker für das Jahr, Monat und Tag datetime-lokal Ein Datums- und Uhrzeitpicker E-Mail Ein E -Mail -Eintragsfeld Datei ein Datei -Picker versteckt ein verstecktes Feld Bild Eine Schaltfläche, auf der das vom SRC -Attribut definierte Bild angezeigt wird Monat einen Monat und ein Jahr Picker Nummer ein Zahleneintragsfeld Passwort Ein Kennworteintragsfeld mit verdecktem Text Radio ein Optionsknopf Reichweite eine Schiebereglerkontrolle zurücksetzen Eine Taste, die alle Formulareingänge auf ihre Standardwerte zurücksetzt (aber vermeiden Sie dies, da sie selten nützlich ist) suchen ein Sucheintragsfeld einreichen eine Formulareinstellungsschaltfläche Tel ein Telefonnummer -Eingangsfeld Text ein Texteintragsfeld Zeit ein Zeitpicker ohne Zeitzone URL Ein URL -Eingangsfeld Woche eine Woche und Jahr Picker

Der Browser fällt auf den Text zurück, wenn Sie das Typ -Attribut vom Typ weglassen oder eine Option nicht unterstützt. Moderne Browser haben eine gute Unterstützung für alle Typen, aber alte Browser zeigen weiterhin ein Texteintragsfeld.

Andere nützliche -attribute gehören:

Attribut Beschreibung akzeptieren Datei -Upload -Typ Alt Alternativer Text für die Bildtypen automatisch vervollständigt Hinweis für die automatische Vervollständigung von Feld Autofokus Fokusfeld auf Seite Laden erfassen Medienerfassung Eingabemethode überprüft Kontrollkästchen/Radio wird überprüft deaktiviert Deaktivieren Sie die Kontrolle (es wird nicht validiert oder den Wert einreichen) bilden assoziieren Sie mit dieser ID ein Formular Formaktion URL zur Einreichung bei Senden- und Bildschaltflächen inputMode Datentyp Hinweis Liste ID von Autokaponete Optionen Max Maximalwert Maxlenlänge Maximale Saitenlänge min Mindestwert Minlenlänge Minimale Stringlänge Name Name der Kontrolle, wie er an Server eingereicht wurde Muster ein reguläres Ausdrucksmuster wie [a-z] für ein oder mehrere Großbuchstaben-Zeichen Platzhalter Platzhaltertext, wenn der Feldwert leer ist Readonly Das Feld ist nicht bearbeitet, aber es wird weiterhin validiert und eingereicht erforderlich Das Feld ist erforderlich Größe Die Größe der Kontrolle (oft in CSS überschrieben) Rechtschreibprüfung Setzen Sie wahre oder falsche Zaubersprüche src Bild -URL Schritt inkrementelle Werte in Zahlen und Bereichen Typ Feldtyp (siehe oben) Wert der Anfangswert

HTML -Ausgangsfelder

sowie Eingangstypen liefert HTML5 schreibgeschützte Ausgänge:

  • Ausgabe: Ein Textergebnis einer Berechnung oder Benutzeraktion
  • Fortschritt: Ein Fortschrittsbalken mit Wert- und Maxattributen
  • Meter: Eine Skala, die sich je nach Werten, die für den Wert, min, max, niedrig, hoch, hoch, hoch, und optimale Attribute festgelegt werden können, ändern können.
  • .

Eingabetiketten

Felder sollten über ein zugehöriges

Das obige ist der detaillierte Inhalt vonDie vollständige Anleitung zu HTML -Formularen und Einschränkungsvalidierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Apr 02, 2025 am 04:27 AM

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

So verwenden Sie CSS -Gitter für klebrige Header und Fußzeilen So verwenden Sie CSS -Gitter für klebrige Header und Fußzeilen Apr 02, 2025 pm 06:29 PM

CSS Grid ist eine Sammlung von Eigenschaften, die das Layout einfacher machen als jemals zuvor. Wie alles andere ist es eine kleine Lernkurve, aber das Gitter ist

Google -Schriftarten variable Schriftarten Google -Schriftarten variable Schriftarten Apr 09, 2025 am 10:42 AM

Ich sehe, dass Google -Schriftarten ein neues Design (Tweet) ausgelöst haben. Im Vergleich zur letzten großen Neugestaltung fühlt sich dies viel iterativer an. Ich kann den Unterschied kaum erkennen

See all articles