Посилання на значення
Синтаксис ${fieldname} використовується для посилання на поточне значення іншого поля у вашій формі. Він може представляти значення, що було введено, обрано або обчислено, і відображатиметься точно так, як воно з’являється у відправлених даних.
Приклад:
Якщо у вас є поле з назвою “age” і ви хочете отримати точне значення, введене в це поле, ви можете використати ${age}.
Стосовно обмежень, символ “.” використовується для посилання на запропоноване введення або вибір користувача для поточного поля. Він дозволяє застосовувати умови або обмеження на основі значення, яке користувач вводить або обирає в цей момент.
Приклад:
Якщо ви хочете перевірити, чи запропоноване значення для поточного поля менше 3, ви можете використати обмеження . < 3.
.. — Посилання на батьківську групу
Всередині групи або групи повторів .. посилається на батьківський контекст. Це рідко потрібно на практиці, але використовується в розширених виразах XPath для навігації по ієрархії форми.
Де використовуються посилання
| Стовпець | Тип посилання | Приклад |
|---|---|---|
relevant | ${fieldname} | ${consent} = 'yes' |
constraint | . для поточного поля, ${fieldname} для інших | . > 0 and . <= ${max_value} |
calculation | ${fieldname} | ${adults} + ${children} |
required | ${fieldname} | ${has_income} = 'yes' |
default | ${fieldname} | ${previous_answer} |
label | ${fieldname} у тексті | "Your age is ${age} years" |
choice_filter | Назва стовпця (без ${}) | district = ${district} |
У стовпці choice_filter посилайтеся на назви стовпців варіантів безпосередньо (без ${}), а на поля форми — з ${}. Змішування їх є поширеним джерелом помилок.
Посилання на значення у групах повторів
Всередині повтору ${fieldname} посилається на поле в тому ж екземплярі повтору:
relevant: ${member_age} < 18
Це використовує значення member_age для поточного екземпляру повтору, а не всіх екземплярів.
Для посилання на поле в конкретному екземплярі повтору ззовні повтору використовуйте indexed-repeat():
indexed-repeat(${member_name}, ${household_members}, 1)
Дивіться Функції — Функції полів повторів для повної інформації.
Перевірки порожнього значення
Перевірте, чи поле було заповнене:
${fieldname} != '' (поле не порожнє)
${fieldname} = '' (поле порожнє)
Для чисел також перевіряйте:
${age} > 0 (вік має позитивне значення — неявно не порожнє для числового контексту)
Перетворення типів у посиланнях
Коли ви використовуєте ${fieldname} у числовому контексті (наприклад, ${age} + 1), rtSurvey автоматично перетворює рядкове значення на число. Порожнє поле перетворюється на 0 або NaN залежно від операції — використовуйте coalesce(${field}, 0) для безпечного значення за замовчуванням порожнього числового поля рівного нулю.