Поле

Объедините метки, элементы управления и текст справки для создания доступных полей формы и сгруппированных входных данных.

buridan add поле
Error: Reference Target 'поле' not found
Error: Reference Target 'поле' not found

Состав

поле.корень

Один элемент управления с меткой, вспомогательным текстом и проверкой.

field.root
├── field.label
├── Input / Textarea / switch.root / select.root
├── field.description
└── field.error

поле.группа

Связанные поля в одной группе. При необходимости используйте field.separator между разделами.

field.group
├── field.root
│   ├── field.label
│   ├── Input / Textarea / switch.root / select.root
│   ├── field.description
│   └── field.error
├── field.separator
└── field.root
    ├── field.label
    └── Input / Textarea / switch.root / select.root

поле.набор

Семантическая группировка с легендой и описанием, обычно содержащая field.group.

field.set
├── field.legend
├── field.description
└── field.group
    ├── field.root
    │   ├── field.label
    │   ├── Input / Textarea / switch.root / select.root
    │   ├── field.description
    │   └── field.error
    └── field.root
        ├── field.label
        └── Input / Textarea / switch.root / select.root
  • field.root — это основная оболочка для одного поля.

  • field.content — гибкий столбец, группирующий метку и описание. Не требуется, если у вас нет описания.

  • Оберните связанные поля field.group и используйте field.set с field.legend для семантической группировки.

Примеры

Общие

Демонстрирует объединение field.root, field.group, field.set, field.label, field.description и field.error.

Использованный реквизит: orientation на field.root; variant по field.legend; html_for на field.label; data_invalid на field.root.

Payment Method

All transactions are secure and encrypted

Enter your 16-digit card number

Billing Address

The billing address associated with your payment method

Адаптивный макет

  • Вертикальные поля: ориентация по умолчанию объединяет метки, элементы управления и вспомогательный текст — идеально подходит для макетов, ориентированных на мобильные устройства.

  • Горизонтальные поля: установите orientation="horizontal" в field.root, чтобы выровнять метку и элемент управления рядом. Соедините с field.content, чтобы описания были согласованными.

  • Адаптивные поля: установите orientation="responsive" для автоматического макета столбцов внутри родительских элементов с поддержкой контейнеров.

Проверка и ошибки

  • Добавьте data_invalid="true" к field.root, чтобы перевести весь блок в состояние ошибки.

  • Добавьте aria_invalid="true" на вход для вспомогательных технологий.

  • Отрисовывайте field.error сразу после элемента управления или внутри field.content, чтобы сообщения об ошибках были выровнены по полю.

field.root(
    field.label("Email", html_for="email"),
    input(id="email", type="email", aria_invalid="true"),
    field.error("Enter a valid email address."),
    data_invalid="true",
)

Справочник по API

поле.набор

Контейнер, который отображает семантический fieldset с предустановками интервалов.

Опора Тип По умолчанию
class_name str
field.set(
    field.legend("Delivery"),
    field.group(),
)

поле.легенда

Элемент легенды для field.set. Переключитесь на вариант "label", чтобы обеспечить соответствие стандартному размеру этикетки.

Опора Тип По умолчанию
variant Literal["legend", "label"] "legend"
class_name str
field.legend("Notification Preferences", variant="label")

field.legend имеет два варианта: legend и label. Вариант label применяет стандартные размеры и выравнивание меток ввода, что полезно, если вы объединяете вложенные наборы полей.

поле.группа

Оболочка макета, которая объединяет компоненты field.root и позволяет выполнять запросы к контейнерам для адаптивных ориентаций.

Опора Тип По умолчанию
class_name str
field.group(
    field.root(),
    field.root(),
    class_name="@container/field-group flex flex-col gap-6",
)

поле.корень

Основная оболочка для одного поля. Обеспечивает управление ориентацией, недопустимые стили состояния и конфигурации интервалов.

Опора Тип По умолчанию
orientation "vertical" | "horizontal" | "responsive" "vertical"
class_name str
data_invalid str
field.root(
    field.label("Remember me", html_for="remember"),
    switch.root(id="remember"),
    orientation="horizontal",
)

поле.содержание

Столбец Flex, который группирует элементы управления и описания, когда метка находится рядом с элементом управления. Не требуется, если у вас нет блока описания макета.

Опора Тип По умолчанию
class_name str
field.root(
    checkbox.root(id="notifications"),
    field.content(
        field.label("Notifications", html_for="notifications"),
        field.description("Email, SMS, and push options."),
    ),
)

поле.метка

Метка, стилизованная как для прямого ввода, так и для вложенных дочерних элементов field.

Опора Тип По умолчанию
html_for str
class_name str
field.label("Email", html_for="email")

поле.заголовок

Отображает отдельный заголовок с соответствующими свойствами оформления метки внутри узла field.content.

Опора Тип По умолчанию
class_name str
field.content(
    field.title("Enable Touch ID"),
    field.description("Unlock your device faster."),
)

поле.описание

Вспомогательный текстовый слот, который автоматически выравнивает длинные строки при использовании в горизонтальных конфигурациях.

Опора Тип По умолчанию
class_name str
field.description("We never share your email with anyone.")

поле.разделитель

Правило визуального разделителя, используемое для разделения разделов или категорий внутри компонента-обертки field.group. Принимает необязательное встроенное дочернее содержимое.

Опора Тип По умолчанию
class_name str
field.separator("Or continue with")

поле.ошибка

Доступный блок-контейнер типографики уведомлений об ошибках, настраиваемый автоматически с использованием стандартных переменных макета состояния приложения (role="alert").

Опора Тип По умолчанию
class_name str
field.error("Invalid passcode combination provided.")