Jest :user-invalid
to pseudoklasa CSS, która znajduje się w propozycji w roboczej wersji roboczej CSS Selectors Level 4, która wybiera element formularza na podstawie tego, czy wartość wprowadzona przez użytkownika jest ważna, gdy porównuje się ją z wartością określoną jako akceptowaną w znacznik HTML po interakcji użytkownika końcowego z formularzem poza tymi danymi wejściowymi. W rzeczywistości :user-invalid
została nazwana „Pseudoklasą interakcji użytkownika”, ponieważ jest unikalna w identyfikowaniu czynności użytkownika podczas wybierania elementu.
Weź następujące znaczniki HTML dla podstawowego formularza z polem numerycznym:
Ilość:
Zakres liczbowy ustawiony przez znacznik HTML dla danych wejściowych wynosi od 1
do, 10
ale wartość domyślna została ustawiona na 11
. Oznacza to, że wartość jest nieprawidłowa od razu po załadowaniu formularza.
Jednak :user-invalid
pseudoklasa nie zadziała, dopóki użytkownik nie wejdzie w interakcję z formularzem poza wpisaniem go w polu. Ta interakcja jest różnicą między :user-invalid
i :invalid
. Ta sama zasada dotyczy wprowadzanych wartości formularza, które są ustawiane przez :in-range
, :out-of-range
i :required
.
Gdy wartość, którą wprowadził użytkownik, zostanie uznana za nieprawidłową pozycję, możemy wybrać element:
input:user-invalid ( color: red; )
Poniższy obraz ilustruje różne stany między :valid
i :user-invalid
na podstawie powyższego przykładu HTML.


Mylące jest to, jak blisko spokrewnione :invalid
i :user-invalid
są. Jeśli są używane razem, rozróżnienie tych dwóch może być trudne:
input:invalid ( color: red; ) input:user-invalid ( color: red; )


:invalid
(w środku) a nieprawidłową wartością wprowadzoną przez użytkownika (po prawej) może być trudna do odróżnienia
Używanie jednego nad drugim lub posiadanie różnych stylów między nimi może okazać się lepszym doświadczeniem użytkownika w prawdziwym przypadku użycia.
Wsparcie przeglądarki
:user-invalid
nie jest obecnie obsługiwany, ale jest proponowany w wersji roboczej 4 selektorów CSS.
Firefox używa niestandardowej właściwości z prefiksem, -moz-ui-invalid
która przyjmuje podobne standardy.
Związane z
:invalid
:valid
Więcej informacji
- Specyfikacja selektorów CSS poziomu 4
- Specyfikacja MDN dla
:-moz-ui-invalid