Dies :user-invalid
ist eine CSS-Pseudoklasse, die im Arbeitsentwurf der CSS-Auswahlstufe 4 vorgeschlagen wird und die ein Formularelement basierend darauf auswählt, ob der von einem Benutzer eingegebene Wert gültig ist, wenn er mit dem Wert verglichen wird, der als akzeptierter Wert in angegeben ist Das HTML-Markup, nachdem der Endbenutzer über diese Eingabe hinaus mit dem Formular interagiert hat. Tatsächlich :user-invalid
wurde es als "Benutzerinteraktions-Pseudoklasse" bezeichnet, da es bei der Identifizierung einer Benutzeraktion bei der Auswahl eines Elements eindeutig ist.
Verwenden Sie das folgende HTML-Markup für ein Grundformular mit einem numerischen Feld:
Menge:
Der durch das HTML-Markup für die Eingabe festgelegte numerische Bereich liegt zwischen 1
und 10
der Standardwert wurde auf festgelegt 11
. Das heißt, der Wert ist ungültig, sobald das Formular geladen wird.
Die :user-invalid
Pseudoklasse wird jedoch erst wirksam, nachdem der Benutzer tatsächlich mit dem Formular interagiert hat, ohne es in das Feld einzugeben. Diese Interaktion ist der Unterschied zwischen :user-invalid
und :invalid
. Das gleiche Prinzip gilt für eingegebene Formularwerte, die durch :in-range
, :out-of-range
und festgelegt werden :required
.
Sobald der vom Benutzer eingegebene Wert als ungültiger Eintrag ermittelt wurde, können wir das Element auswählen:
input:user-invalid ( color: red; )
Das folgende Bild zeigt die verschiedenen Zustände zwischen :valid
und :user-invalid
basierend auf dem obigen HTML-Beispiel.


Das Verwirrende dabei ist, wie eng verwandt :invalid
und :user-invalid
sind. Bei gemeinsamer Verwendung kann es schwierig sein, die beiden zu unterscheiden:
input:invalid ( color: red; ) input:user-invalid ( color: red; )


:invalid
(Mitte) und einem ungültigen Wert, den ein Benutzer (rechts) eingegeben hat, kann schwer zu unterscheiden sein
Die Verwendung einer über der anderen oder ein unterschiedliches Design zwischen den beiden kann sich in einem realen Anwendungsfall als bessere Benutzererfahrung erweisen.
Browser-Unterstützung
:user-invalid
wird derzeit nicht unterstützt, wird jedoch im Arbeitsentwurf für CSS Selectors Level 4 vorgeschlagen.
Firefox verwendet eine nicht standardmäßige Eigenschaft mit Präfix -moz-ui-invalid
, die ähnliche Standards übernimmt.
verbunden
:invalid
:valid
Mehr Informationen
- CSS Selectors Level 4 Spezifikation
- MDN-Spezifikation für
:-moz-ui-invalid