Подпись поля

Подпись с ошибкой

Подпись с сообщением об ошибке между ней и полем: вся раскраска состояния висит на одном атрибуте aria-invalid.

Что можно поменять

  • имя поля через label, текст ошибки через error и введённое значение через defaultValue
  • цвет обычного фокуса через accent
  • background — подложка компонента; пусто означает «без подложки», по цвету страницы

Ссылка для ИИ-агента: в ней превью, код и инструкция.

Превью

1440pxТема страницы

Использовать с ИИ

  1. 1. Скопируйте ссылку.
  2. 2. Напишите агенту своими словами и вставьте её в предложение.
  3. 3. Агент откроет ссылку и поставит компонент из реестра.
AI
1Выбрали здесь

добавь это на главную первым экраном:

https://vibeui.ru/c/label-007?theme=dark

2Вставили в чат агента
3Получили в проекте

Не знаете, куда вставить? Пошаговый гайд

Показать полную инструкцию

То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.

Загружается…

Для разработчика

Команда установки — в блоке «Исходник компонента» ниже: подписанная ссылка действует сутки.

Технические заметки

Компонент самодостаточен: один файл, без зависимостей, палитра в локальных переменных --vibeui-label-007-*. Серверный: из хуков только useId. Единственный источник состояния — aria-invalid у поля: подпись краснеет правилом :has(input[aria-invalid="true"]), рамка и обводка фокуса — селектором по тому же атрибуту. Отдельного класса «error» нет, поэтому состояния не разъезжаются. Сообщение стоит между подписью и полем: на телефоне клавиатура закрывает низ экрана, и текст под полем не виден. К цвету добавлен нарисованный рамкой значок — цвет не должен быть единственным признаком ошибки. Сообщение связано с полем через aria-describedby. Палитра построена на light-dark(): блок следует color-scheme окружения, подложки по умолчанию нет, и она появляется только пропом background.

Теги

  • label
  • error
  • validation
  • a11y
Исходник компонента

Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.

Загружается…