Условная логика / правила показа и скрытия

Условная логика / правила показа и скрытия

Уже доступно: условная логика работает. Вы можете показывать, скрывать или делать поле обязательным в зависимости от ответов респондентов на предыдущие поля — прямо в конструкторе форм, без помощи разработчика. В этой статье описаны настройка и значение каждой опции.

Что делает условная логика

Условная логика позволяет показывать, скрывать или требовать поле в зависимости от ответов на более ранние поля. Типичные примеры:

  • «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».

Это позволяет создавать динамические формы с ветвлением без разделения на несколько форм.

Как настроить

Условная логика настраивается для каждого поля внутри редактора поля.

  1. Откройте форму в конструкторе.
  2. Щёлкните поле на холсте, чтобы открыть панель Edit Field в боковой панели.
  3. Прокрутите до раздела Conditional Logic.
  4. Включите переключатель Conditional Logic.
  5. Выберите Action и режим Match, затем добавьте одно или несколько правил (см. ниже).
  6. Сохраните форму. Правила сразу вступают в силу на публичной форме.

Раздел Conditional Logic в панели Edit Field: переключатель включения, выпадающие списки 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 и импортированные обратно, сохраняют условные правила без изменений.

Связанные статьи

Мы используем файлы cookie для персонализации вашего опыта. Продолжая посещать этот сайт, вы соглашаетесь на использование нами файлов cookie

Ещё