Este :user-invalid
o pseudo-clasă CSS care se află în propunere în proiectul de lucru CSS Selectors Nivelul 4 care selectează un element de formular pe baza valorii introduse de un utilizator - este validă atunci când este comparată cu ceea ce este specificat ca valoare acceptată în marcajul HTML după ce utilizatorul final a interacționat cu formularul dincolo de acea intrare. De fapt, :user-invalid
a fost numită „Pseudo-clasa de interacțiune cu utilizatorul”, deoarece este unică în identificarea unei acțiuni a utilizatorului în selectarea unui element.
Luați următorul marcaj HTML pentru un formular de bază cu un câmp numeric:
Cantitate:
Intervalul numeric setat de marcajul HTML pentru intrare este între 1
și 10
dar valoarea implicită a fost setată la 11
. Aceasta înseamnă că valoarea este nevalidă imediat ce se încarcă formularul.
Cu toate acestea, :user-invalid
pseudo-clasa nu va intra în vigoare decât după ce utilizatorul a interacționat efectiv cu formularul dincolo de introducerea acestuia în câmp. Această interacțiune este diferența dintre :user-invalid
și :invalid
. Același principiu se aplică pentru valorile de formular introduse , care sunt stabilite de :in-range
, :out-of-range
și :required
.
Odată ce valoarea introdusă de utilizator este determinată ca fiind o intrare nevalidă, putem selecta elementul:
input:user-invalid ( color: red; )
Următoarea imagine ilustrează diferitele stări dintre :valid
și :user-invalid
bazate pe exemplul HTML de mai sus.
Lucrul confuz cu aici este cât de strâns legat :invalid
și :user-invalid
sunt. Dacă este utilizat împreună, poate fi dificil să distingem cele două:
input:invalid ( color: red; ) input:user-invalid ( color: red; )
Folosirea uneia peste cealaltă sau stilul distinct între cele două s-ar putea dovedi a fi o experiență de utilizare mai bună într-un caz de utilizare din viața reală.
Suport pentru browser
:user-invalid
nu este acceptat în prezent, dar este propus în proiectul de lucru CSS Selectors Nivelul 4.
Firefox utilizează o proprietate non-standard prefixată -moz-ui-invalid
care adoptă standarde similare.
Legate de
:invalid
:valid
Mai multe informatii
- Selectoare CSS Specificații de nivel 4
- Specificații MDN pentru
:-moz-ui-invalid