:user-valid
Базовая версия 2023
Новое
С ноября 2023 года данная функция работает на последних версиях устройств и браузеров. Возможно, она не будет работать на старых устройствах или браузерах.
Псевдокласс :user-valid CSS псевдокласс представляет собой любой проверенный элемент формы, значение которого корректно проходит проверку на основе его ограничений валидации. Однако, в отличие от :valid, он срабатывает только после взаимодействия пользователя.
Этот псевдокласс применяется, если элемент управления формой действителен и произошло одно из следующих:
- Пользователь внес изменения в элемент управления формой и подтвердил их, например, переместив фокус.
- Пользователь пытался отправить форму, даже если изменения в элементе управления не были внесены.
- Значение было некорректным при получении фокуса, и пользователь внес изменения, сделав его корректным, даже если фокус остался на элементе управления.
После применения этого псевдокласса пользовательский агент повторно проверяет корректность элемента управления при каждом нажатии клавиши, когда элемент управления имеет фокус.
- Если элемент управления имеет фокус, а значение было некорректным при получении фокуса, повторная проверка выполняется при каждом нажатии клавиши.
В результате, если элемент управления был корректным, когда пользователь начал с ним взаимодействовать, стили валидации изменятся только при переключении фокуса на другой элемент управления. Однако, если пользователь пытается исправить ранее отмеченное некорректное значение, элемент управления сразу же отображает стили корректности при вводе корректного значения. Обязательные элементы помечаются как некорректные только при их изменении пользователем или при попытке отправки неизменённого некорректного значения.
Синтаксис
:user-valid {
/* ... */
}
Примеры
Устанавливаем цвет и символ для :user-valid
В следующем примере зеленая рамка и ✅ отображаются только после взаимодействия пользователя с полем. Попробуйте изменить адрес электронной почты на другой корректный адрес, чтобы увидеть это в действии.
<form>
<label for="email">Email *: </label>
<input
id="email"
name="email"
type="email"
value="test@example.com"
required />
<span></span>
</form>
input:user-valid {
border: 2px solid green;
}
input:user-valid + span::before {
content: "✓";
color: green;
}
Спецификации
| Спецификация |
|---|
| Селекторы Уровень 4 # user-valid-pseudo |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
:user-valid |
119 | 119 | 884 | 105 | 16.5 | 119 | 884 | 79 | 16.5 | 25.0 | 119 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/:user-valid