Mit der :required
Pseudoklassenauswahl in CSS können Autoren jedes übereinstimmende Element mit dem required
Attribut auswählen und formatieren . Formulare können leicht angeben, welche Felder gültige Daten enthalten müssen, bevor das Formular gesendet werden kann. Der Benutzer kann jedoch die Wartezeit vermeiden, die dadurch entsteht, dass der Server der alleinige Prüfer für die Benutzereingaben ist.
Nehmen wir an, wir haben eine Eingabe mit dem Attribut type="name"
und machen sie mit dem required
booleschen Attribut 1 zu einer erforderlichen Eingabe :
Jetzt können wir diese Eingabe mit dem :required
Pseudo-Klassen-Selektor formatieren:
/* style all elements with a required attribute */ :required ( background: red; )
Wir können erforderliche Formularfelder auch mit einfachen Selektoren formatieren und zusätzliche Pseudoklassenselektoren verketten:
/* style all input elements with a required attribute */ input:required ( box-shadow: 4px 4px 20px rgba(200, 0, 0, 0.85); ) /** * style input elements that have a required * attribute and a focus state */ input:required:focus ( border: 1px solid red; outline: none; ) /** * style input elements that have a required * attribute and a hover state */ input:required:hover ( opacity: 1; )
Demo
Siehe den Stift: Erforderliches Styling von Chris Coyier (@chriscoyier) auf CodePen.
Sehenswürdigkeiten
Das required
Attribut wird als Boolescher Wert behandelt, dh es ist kein Wert erforderlich. Durch einfaches Vorhandensein required
eines Elements wird dem Browser mitgeteilt, dass dieses Attribut vorhanden ist und die entsprechende Eingabe tatsächlich ein erforderliches Feld ist. Gemäß der W3C-Spezifikation funktioniert das erforderliche Attribut jedoch auch mit einem leeren Wert oder einem Wert mit dem Attributnamen.
Das erforderliche Attribut fordert den Browser außerdem auf, native Beschriftungen wie die in der Demo dargestellte Blasennachricht zu verwenden.
Für Eingaben, die nicht mit gestylt wurden :required
, können Autoren auch nicht erforderliche Elemente mithilfe des :optional
Pseudoklassen-Selektors zusammen mit :invalid
und anpassen, :valid
die ausgelöst werden, wenn die Datenanforderungen eines Formularfelds erfüllt sind.
Neben required
dem pattern
Attribut kann auch die Formularvalidierung ergänzt werden, um das Filtern von Daten in Abhängigkeit vom type
Attribut der Eingabe zu erleichtern. Muster können als regulärer Ausdruck oder als Zeichenfolge geschrieben werden. Im folgenden Beispiel verwenden wir einen regulären Ausdruck, um der Syntax für eine E-Mail-Adresse zu entsprechen.
Das :required
Attribut funktioniert für Optionsfelder. Wenn Sie ein Optionsfeld (oder alle) aktivieren, ist diese bestimmte Gruppe von Optionsfeldern erforderlich. Aktiviert bei Kontrollkästchen jedes einzelne Kontrollkästchen (muss aktiviert werden).
Browser-Unterstützung
Diese Browser-Unterstützungsdaten stammen von Caniuse, das detaillierter ist. Eine Zahl gibt an, dass der Browser die Funktion ab dieser Version unterstützt.
Desktop
Chrom | Feuerfuchs | IE | Kante | Safari |
---|---|---|---|---|
10 | 4 | 10 | 12 | 10.1 |
Handy / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4.3-4.4.4 | 10.3 |
1 Boolesche Attribute : Eine Reihe von Attributen in HTML5 sind boolesche Attribute. Das Vorhandensein eines booleschen Attributs für ein Element repräsentiert den wahren Wert, und das Fehlen des Attributs repräsentiert den falschen Wert. Wenn das Attribut vorhanden ist, muss sein Wert entweder die leere Zeichenfolge oder ein Wert sein, bei dem die Groß- und Kleinschreibung nicht mit dem kanonischen Namen des Attributs übereinstimmt, ohne führende oder nachfolgende Leerzeichen.