Один из способов обеспечить качество данных — добавить ограничения к полям данных в форме. Ограничения помогают предотвратить ввод пользователями недействительных или невозможных ответов. Например, при запросе дохода человека нужно избегать нереалистичных значений — отрицательных чисел или слишком высоких значений. Добавить ограничения данных в форму просто. Следуйте шагам ниже:

  1. Добавьте новый столбец «constraint» в форму.
  2. В столбце «constraint» введите формулу, определяющую ограничения ответа.

Пример

Рассмотрим пример, где нужно добавить ограничение для дохода человека. Ограничение требует, чтобы доход был в диапазоне от 0 до 1 000 000 долларов. Вот как можно настроить ограничение:

nameconstraint
Income. >= 0 & . <= 1000000

В приведённом примере «.» в формуле ссылается на переменную вопроса, которая представляет значение, введённое пользователем для вопроса «Income». Ограничение . >= 0 && . <= 1000000 гарантирует, что введённый доход больше или равен 0 и меньше или равен 1 000 000.

Жёсткое ограничение

Жёсткое ограничение полностью блокирует отправку формы, если введённое значение не удовлетворяет выражению. Интервьюер не может продолжить, пока не введёт допустимое значение.

Чтобы добавить жёсткое ограничение, введите выражение в столбец constraint. При желании добавьте понятное сообщение в constraint_message:

typenamelabelconstraintconstraint_message
integerageВозраст респондента. > 0 and . <= 120Возраст должен быть от 1 до 120
decimaltemperatureТемпература тела (°C). >= 35 and . <= 42Температура должна быть в диапазоне 35–42°C
textphoneНомер телефонаregex(., '^[0-9]{10}$')Введите 10-значный номер телефона

Несколько условий

Объединяйте условия с помощью and / or:

  . >= 0 and . <= 100
  
  . = 'yes' or . = 'no'
  

Использование regex() для проверки шаблона

Функция regex(value, pattern) проверяет значение по регулярному выражению:

typenamelabelconstraintconstraint_message
textemailАдрес электронной почтыregex(., '^[^@]+@[^@]+\.[^@]+$')Введите действительный адрес электронной почты
textzip_codeПочтовый индексregex(., '^[0-9]{5}$')Введите 5-значный почтовый индекс

Ссылки на другие поля в ограничении

Используйте ${fieldname} для ссылки на значения других вопросов:

typenamelabelconstraintconstraint_message
integerend_yearГод окончания. >= ${start_year}Год окончания должен быть после года начала
decimalloan_repaidПогашенная сумма. <= ${loan_amount}Нельзя погасить больше суммы кредита

Мягкое предупреждение

Мягкое предупреждение (также называемое мягким ограничением или предостережением) предупреждает интервьюера, что значение выглядит необычно, но всё же позволяет продолжить. Это полезно, когда значение технически допустимо, но статистически маловероятно.

Наиболее распространённый шаблон — использование note с выражением relevant, которое помечает подозрительное значение, в сочетании с вопросом acknowledge для подтверждения:

typenamelabelrelevant
integerchildrenКоличество детей
notechildren_warningПредупреждение: вы ввели ${children} детей. Пожалуйста, подтвердите корректность.. > 15
triggerchildren_confirmПодтвердите правильность количества детей${children} > 15

Мягкое предупреждение только с constraint_message

Для более простого мягкого предупреждения можно сформулировать ограничение, предупреждающее об экстремальных значениях, но при этом допускающее широкий диапазон:

typenamelabelconstraintconstraint_message
integerchildrenКоличество детей. >= 0 and . <= 30Это значение кажется очень высоким. Пожалуйста, проверьте.
Была ли эта страница полезной?