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

  1. Додайте новий стовпець з назвою “constraint” до вашої форми.
  2. У стовпці “constraint” введіть формулу, що визначає обмеження на відповідь.

Приклад

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

nameconstraint
Income. >= 0 & . <= 1000000

У прикладі вище “.” у формулі посилається назад на змінну питання, яка представляє значення, введене користувачем для питання “Income”. Обмеження “. >= 0 && . <= 1000000” гарантує, що введений дохід більший або рівний 0 і менший або рівний 1 000 000.

Жорстке обмеження

Жорстке обмеження повністю блокує відправлення форми, якщо введене значення не задовольняє виразу. Анкетер не може продовжити, доки не введе дійсне значення.

Щоб додати жорстке обмеження, введіть свій вираз у стовпець constraint. За бажанням додайте зрозуміле повідомлення в constraint_message:

typenamelabelconstraintconstraint_message
integerageAge of respondent. > 0 and . <= 120Age must be between 1 and 120
decimaltemperatureBody temperature (°C). >= 35 and . <= 42Temperature must be between 35°C and 42°C
textphonePhone numberregex(., '^[0-9]{10}$')Enter a 10-digit phone number

Кілька умов

Об’єднуйте умови за допомогою and / or:

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

Використання regex() для перевірки за шаблоном

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

typenamelabelconstraintconstraint_message
textemailEmail addressregex(., '^[^@]+@[^@]+\.[^@]+$')Enter a valid email address
textzip_codeZIP coderegex(., '^[0-9]{5}$')Enter a 5-digit ZIP code

Посилання на інші поля в обмеженні

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

typenamelabelconstraintconstraint_message
integerend_yearEnd year. >= ${start_year}End year must be after start year
decimalloan_repaidAmount repaid. <= ${loan_amount}Cannot repay more than the loan amount

М’яке попередження

М’яке попередження (також зване м’яким обмеженням або застереженням) попереджає анкетера, що значення виглядає незвичним, але все одно дозволяє продовжити. Це корисно, коли значення технічно дійсне, але статистично малоймовірне.

rtSurvey підтримує м’які попередження за допомогою стовпця constraint зі спеціальним підходом constraint_type, або через appearance soft у поєднанні з полем note.

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

typenamelabelrelevant
integerchildrenNumber of children
notechildren_warningWarning: You entered ${children} children. Please confirm this is correct.. > 15
triggerchildren_confirmConfirm the number of children is correct${children} > 15

М’яке попередження лише з constraint_message

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

typenamelabelconstraintconstraint_message
integerchildrenNumber of children. >= 0 and . <= 30This value seems very high. Please verify.
Чи була ця сторінка корисною?