Това :user-invalid
е CSS псевдоклас, който се предлага в работния проект на CSS Selectors Level 4, който избира елемент на формуляр въз основа на това дали стойността - както е въведена от потребител - е валидна, когато е проверена спрямо това, което е посочено като приета стойност в HTML маркировката, след като крайният потребител взаимодейства с формуляра извън този вход. Всъщност :user-invalid
е наречен „Псевдокласът за взаимодействие с потребителя“, тъй като е уникален при идентифициране на потребителско действие при избора на елемент.
Вземете следната HTML маркировка за основна форма с числово поле:
Количество:
Числовият диапазон, зададен от HTML маркировката за входа, е между 1
и, 10
но стойността по подразбиране е зададена на 11
. Това означава, че стойността е невалидна веднага щом формата се зареди.
Псевдокласът обаче :user-invalid
ще влезе в сила едва след като потребителят действително взаимодейства с формуляра след въвеждането му в полето. Това взаимодействие е разликата между :user-invalid
и :invalid
. Същият принцип се прилага за въведени стойности на формуляри, които са зададени от :in-range
, :out-of-range
и :required
.
След като стойността, която потребителят е въвел, е определена като невалидна, можем да изберем елемента:
input:user-invalid ( color: red; )
Следващото изображение илюстрира различните състояния между :valid
и :user-invalid
въз основа на HTML пример по-горе.


Объркващото тук е колко са тясно свързани :invalid
и какви :user-invalid
са. Ако се използват заедно, може да е трудно да се разграничат двете:
input:invalid ( color: red; ) input:user-invalid ( color: red; )


:invalid
(в центъра) и невалидна стойност, въведена от потребител (вдясно), може да бъде трудна за разграничаване
Използването на едно върху друго или с различен стил между двете може да се окаже по-добро потребителско изживяване в реалния случай на употреба.
Поддръжка на браузър
:user-invalid
понастоящем не се поддържа, но се предлага в работния проект на CSS Selectors Level 4.
Firefox използва префиксирана нестандартна собственост, -moz-ui-invalid
която приема подобни стандарти.
Свързани
:invalid
:valid
Повече информация
- Спецификация на CSS селектори от ниво 4
- Спецификация на MDN за
:-moz-ui-invalid