Spec-Zone.ru › CSS

Псевдокласс CSS `:user-valid`

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с ноября 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;
}

Спецификации

Спецификация
HTML
# selector-user-valid
Селекторы уровня 4
# user-valid-pseudo

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS
user-valid
119
119
88
4
105
16.5
119
88
4
79
16.5
25.0
119
16.5

См. также

  • :valid
  • :invalid
  • :required
  • :optional
  • :user-invalid

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:user-valid

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API