Het :user-invalid
is een CSS-pseudo-klasse die wordt voorgesteld in het werkconcept van CSS Selectors Level 4 dat een formulierelement selecteert op basis van of de waarde, zoals ingevoerd door een gebruiker, geldig is wanneer deze wordt vergeleken met wat is opgegeven als een geaccepteerde waarde in de HTML-opmaak nadat de eindgebruiker interactie heeft gehad met het formulier buiten die invoer. In feite :user-invalid
wordt het "De gebruikersinteractie pseudoklasse" genoemd omdat het uniek is in het identificeren van een gebruikersactie bij het selecteren van een element.
Gebruik de volgende HTML-opmaak voor een basisformulier met een numeriek veld:
Hoeveelheid:
Het numerieke bereik dat wordt ingesteld door de HTML-opmaak voor de invoer ligt tussen 1
en, 10
maar de standaardwaarde is ingesteld op 11
. Dat betekent dat de waarde ongeldig is zodra het formulier wordt geladen.
De :user-invalid
pseudoklasse wordt echter pas van kracht nadat de gebruiker daadwerkelijk met het formulier heeft gewerkt, nadat het in het veld is ingevoerd. Die interactie is het verschil tussen :user-invalid
en :invalid
. Hetzelfde principe is van toepassing op ingevulde formulierwaarden die zijn ingesteld door :in-range
, :out-of-range
en :required
.
Zodra de waarde die de gebruiker heeft ingevoerd is vastgesteld als ongeldig, kunnen we het element selecteren:
input:user-invalid ( color: red; )
De volgende afbeelding illustreert de verschillende staten tussen :valid
en op :user-invalid
basis van het HTML-voorbeeld hierboven.
Het verwarrende hier is hoe nauw verwant :invalid
en :user-invalid
zijn. Als ze samen worden gebruikt, kan het moeilijk zijn om de twee te onderscheiden:
input:invalid ( color: red; ) input:user-invalid ( color: red; )
Het gebruik van de ene boven de andere of het hebben van een verschillende stijl tussen de twee kan een betere gebruikerservaring blijken te zijn in een real-life use-case.
Browser-ondersteuning
:user-invalid
wordt momenteel niet ondersteund, maar wordt voorgesteld in de CSS Selectors Level 4 working draft.
Firefox gebruikt een niet-standaard eigenschap met voorvoegsel -moz-ui-invalid
die vergelijkbare standaarden hanteert.
Verwant
:invalid
:valid
Meer informatie
- CSS Selectors Level 4-specificatie
- MDN-specificatie voor
:-moz-ui-invalid