Pseudoklasy :user-valid i :user-invalid

:user-valid

Obsługa przeglądarek

  • 119
  • 119
  • 88
  • 16,5

Źródło

:user-invalid

Obsługa przeglądarek

  • 119
  • 119
  • 88
  • 16,5

Źródło

Dane wejściowe użytkowników to jedno z najważniejszych kwestii w każdym interfejsie. Aplikacja musi ułatwiać użytkownikom zauważenie, zrozumienie i naprawienie błędów we danych wejściowych. Pseudoklasy :user-valid i :user-invalid pomagają usprawnić weryfikację danych wejściowych, ponieważ informują o błędach dopiero wtedy, gdy użytkownik zmieni dane wejściowe. Dzięki tym nowym selektorom nie trzeba już pisać kodu stanowego, aby śledzić dane wejściowe zmienione przez użytkownika.

Selektory pseudoklas interakcji z użytkownikiem

Selektory pseudoklas :user-valid i :user-invalid są podobne do istniejących pseudoklas :valid i :invalid. Obie wartości pasują do ustawienia formularza na podstawie tego, czy jego bieżąca wartość spełnia ograniczenia weryfikacji. Zaletą nowych pseudoklas (:user-valid i :user-invalid) jest to, że pasują do opcji formularza dopiero po znacznej interakcji użytkownika z danymi wejściowymi.

Element sterujący formularza, który jest wymagany i pusty, będzie pasował do elementu :invalid, nawet jeśli użytkownik nie rozpoczął interakcji ze stroną. Jednak to ustawienie formularza nie będzie pasować do elementu :user-invalid, dopóki użytkownik nie zmieni danych wejściowych i nie pozostawi ich w nieprawidłowym stanie.

Używaj pseudoklas :user-valid i :user-invalid

Użyj tych pseudoklas, aby określić styl elementów sterujących danymi wejściowymi, zaznaczaniem i obszarem tekstowym, jak pokazano w tych przykładach:

input:user-valid,
select:user-valid,
textarea:user-valid {
  border-color: green;
}

input:user-invalid,
select:user-invalid,
textarea:user-invalid {
  border-color: red;
}
<input required="required" />

<select required="required">
  <option value="">Choose an option</option>
  <option value="1">One</option>
</select>

<textarea required="required"></textarea>

Obraz, który zawiera 3 zrzuty ekranu obok siebie, aby je porównać. Każdy zrzut ekranu przedstawia formularz internetowy z takimi samymi ustawieniami wprowadzania, zaznaczania i obszaru tekstowego. Pierwszy zrzut ekranu pokazuje formularz w jego początkowym stanie, zanim użytkownik go wpisze. Obramowanie kontrolne są szare, a w poniższym tekście pomocy wyjaśniamy, że poszczególne kontrolki będą obecnie pasować do pseudoklasy :invalid. Drugi zrzut ekranu przedstawia ten sam formularz po wpisaniu przez użytkownika danych wejściowych dla każdego z elementów sterujących. Obramowanie elementów sterujących ma kolor zielony, a w poniższym tekście pomocy wyjaśniamy, że poszczególne kontrolki będą obecnie pasować zarówno do pseudoklasy :valid, jak i :user-valid. Trzeci i ostatni zrzut ekranu przedstawia ten sam formularz po usunięciu wszystkich danych wejściowych. Obramowanie ma kolor czerwony, a w poniższym tekście pomocy wyjaśniamy, że poszczególne kontrolki będą obecnie pasować zarówno do selektorów pseudoklasy :invalid, jak i :user-invalid.

Selektory dopasowują się na podstawie kombinacji interakcji użytkowników i ograniczeń weryfikacji. Skorzystaj z poniższej wersji demonstracyjnej, aby zobaczyć, jak działają:

Większa wygoda użytkowników, mniej kodu

Bez tych pseudoklasy osiągnięcie wygody użytkowników zapewnianej przez funkcje :user-valid i :user-invalid wymagało napisania dodatkowego kodu stanowego. Kod ten potrzebował do śledzenia wartości początkowej, bieżącego stanu skupienia danych wejściowych, zakresu zmian wprowadzonych przez użytkownika, przeprowadzenia dodatkowej kontroli poprawności, a na koniec dodania klasy do wyboru stylu. Teraz możesz korzystać z przeglądarki, aby automatycznie obsłużyć wszystkie te czynności.

Więcej materiałów

Zdjęcie na okładkę: Behzad Ghaffarian w filmie Unsplash.