Условная логика / правила показа и скрытия
Уже доступно: условная логика работает. Вы можете показывать, скрывать или делать поле обязательным в зависимости от ответов респондентов на предыдущие поля — прямо в конструкторе форм, без помощи разработчика. В этой статье описаны настройка и значение каждой опции.
Что делает условная логика
Условная логика позволяет показывать, скрывать или требовать поле в зависимости от ответов на более ранние поля. Типичные примеры:
- «Spouse's Name» появляется только если «Marital Status = Married».
- «Tell us about the food allergy» появляется только если «Has food allergies = Yes».
- Вопрос «Childcare Needs» появляется только когда «Bringing children = Yes».
- Текстовое поле «Other (please specify)» появляется только когда респондент выбирает «Other» в выпадающем списке.
- «Allergy Details» становится обязательным только когда «Has Allergies = Yes».
Это позволяет создавать динамические формы с ветвлением без разделения на несколько форм.
Как настроить
Условная логика настраивается для каждого поля внутри редактора поля.
- Откройте форму в конструкторе.
- Щёлкните поле на холсте, чтобы открыть панель Edit Field в боковой панели.
- Прокрутите до раздела Conditional Logic.
- Включите переключатель Conditional Logic.
- Выберите Action и режим Match, затем добавьте одно или несколько правил (см. ниже).
- Сохраните форму. Правила сразу вступают в силу на публичной форме.

Выберите действие
Выпадающий список Action определяет, что происходит при совпадении правил:
- Show this field — поле скрыто по умолчанию и появляется только при совпадении правил.
- Hide this field — поле видно по умолчанию и исчезает при совпадении правил.
- Require this field — поле остаётся видимым, но становится обязательным только при совпадении правил. (Кроме этого, поле может быть обязательным по собственной настройке «Required».)
Выберите режим совпадения
При добавлении более одного правила выпадающий список Match определяет, как они объединяются:
- All rules below (AND) — каждое правило должно быть истинным, чтобы действие сработало.
- Any rule below (OR) — действие срабатывает, если хотя бы одно правило истинно.
Добавление правил
Нажмите Add rule, чтобы добавить условие. Каждое правило состоит из трёх частей:
- Field — более раннее поле, ответ которого отслеживает правило. Выпадающий список показывает другие поля формы.
- Operator — способ сравнения ответа (см. таблицу операторов ниже).
- Value — с чем сравнивать. Если отслеживаемое поле — Dropdown / Radio / Checkbox, это становится выпадающим списком вариантов поля; иначе — свободный текст. Для «is filled» и «is empty» значение не нужно.
Используйте красный X в строке правила, чтобы удалить его. Фиксированного лимита на число правил нет.
Совет: для «is one of» / «is none of» вводите значения через запятую (например,
a, b, c).
Поддерживаемые операторы
| Оператор | Совпадает, когда отслеживаемое поле... |
|---|---|
| Equals | точно равно значению |
| Does not equal | не равно значению |
| Contains | содержит значение как текст |
| Does not contain | не содержит значение как текст |
| Begins with | начинается со значения |
| Ends with | заканчивается значением |
| Greater than | число больше значения |
| Less than | число меньше значения |
| Is filled | имеет любой введённый ответ |
| Is empty | не имеет ответа |
| Before (date) | дата раньше значения |
| After (date) | дата позже значения |
| Is one of (comma separated) | совпадает с любым значением из списка через запятую |
| Is none of (comma separated) | не совпадает ни с одним значением из списка |
Какие поля могут использовать условную логику
Условная логика доступна на обычных полях ввода. Она не предлагается для полей только макета или неинтерактивных — Section / Heading, Instructions / Paragraph, Page Break и Hidden не показывают раздел Conditional Logic. Любое другое поле (текст, выпадающий список, радиокнопки, флажок, дата, число, загрузка файла и т. д.) может управляться правилами и также может быть триггерным полем для правил другого поля.
Поведение на публичной форме
Правила оцениваются в двух местах, чтобы опыт был плавным, а данные оставались чистыми:
- По мере ввода или выбора респондентом — форма перепроверяет правила в реальном времени, поэтому поля появляются, исчезают и переключаются между обязательными и необязательными мгновенно.
- Снова на сервере при отправке формы — это источник истины. Скрытое поле никогда не валидируется, поэтому условно скрытое обязательное поле никогда не заблокирует отправку. Условно обязательное поле проверяется только когда его правило действительно совпадает.
Поскольку скрытые поля исключаются из валидации, они также исключаются из сохранённой отправки. Отчёты и экспорт содержат только ответы, которые респондент фактически видел и заполнил.
Советы по проектированию форм с ветвлением
Несколько паттернов, хорошо сочетающихся с условной логикой:
Сочетание с разделами и разрывами страниц
Поле макета Section добавляет заголовок, разбивающий форму на читаемые блоки, а Page Break делит форму на страницы. Хотя Section и Page Break сами не несут условных правил, вы по-прежнему можете управлять отдельными полями внутри них логикой, создавая направляемый опыт с ветвлением.
Аккуратная обработка «Other (please specify)»
Когда Dropdown / Radio имеет вариант «Other», добавьте текстовое поле сразу после него и задайте этому полю правило Show this field с отслеживаемым полем выбора и значением «Other». Текстовое поле появится только когда респондент выберет «Other».
Требовать уточнения только когда нужно
Оставьте поле сопровождения необязательным по умолчанию, затем добавьте правило Require this field, чтобы оно было обязательным только в ситуации, которая этого требует (например, требовать «Allergy Details» только когда «Has Allergies = Yes»). Это сохраняет форму короткой для всех остальных.
Разделение на несколько форм для радикально разных путей
Когда два пути через форму полностью разные (например, «Я участник» vs «Я посетитель»), иногда чище создать две отдельные формы и связать их с одной целевой страницы. Условная логика хорошо справляется с ветвлением внутри одной формы, но очень расходящиеся потоки иногда проще поддерживать как отдельные формы.
Как хранятся правила
Каждое поле хранит правила в структуре conditional_logic. Обычно вы этого не видите — конструктор записывает их за вас — но при экспорте формы в JSON это выглядит так:
{
"enabled": true,
"action": "show",
"match": "all",
"rules": [
{
"field": "marital_status",
"operator": "equals",
"value": "married"
}
]
}
Формы, экспортированные в JSON и импортированные обратно, сохраняют условные правила без изменений.
Связанные статьи
- Типы полей формы — раздел Conditional Logic там описывает ту же настройку с точки зрения типов полей.
- Создание формы — основы конструктора форм.
- Управление отправками — где отображаются ответы, которые респонденты фактически заполнили.