Odkazovanie hodnôt
Syntax ${fieldname} sa používa na odkazovanie aktuálnej hodnoty iného poľa vo vašom formulári. Môže predstavovať hodnotu, ktorá bola zadaná, vybraná alebo vypočítaná, a zobrazí sa presne tak, ako sa objavuje v odoslaných dátach.
Príklad:
Ak máte pole s názvom „age" a chcete načítať presnú hodnotu zadanú v tomto poli, môžete použiť ${age}.
V prípade obmedzení sa symbol „." používa na odkazovanie navrhovaného zadania alebo výberu používateľa pre aktuálne pole. Umožňuje aplikovať podmienky alebo limity na základe hodnoty, ktorú používateľ v danom momente zadáva alebo vyberá.
Príklad:
Ak chcete skontrolovať, či je navrhovaná hodnota pre aktuálne pole menšia ako 3, môžete použiť obmedzenie . < 3.
.. — Referencia nadradenej skupiny
Vo vnútri skupiny alebo skupiny opakovania .. odkazuje na nadradený kontext. V praxi je to zriedka potrebné, ale používa sa v pokročilých výrazoch XPath na navigáciu v hierarchii formulára.
Kde sa referencie používajú
| Stĺpec | Typ referencie | Príklad |
|---|---|---|
relevant | ${fieldname} | ${consent} = 'yes' |
constraint | . pre aktuálne pole, ${fieldname} pre ostatné | . > 0 and . <= ${max_value} |
calculation | ${fieldname} | ${adults} + ${children} |
required | ${fieldname} | ${has_income} = 'yes' |
default | ${fieldname} | ${previous_answer} |
label | ${fieldname} v texte | "Váš vek je ${age} rokov" |
choice_filter | Názov stĺpca (bez ${}) | district = ${district} |
V stĺpci choice_filter odkazujte názvy stĺpcov volieb priamo (bez ${}), a polia formulára s ${}. Zmiešanie týchto dvoch je bežným zdrojom chýb.
Odkazovanie hodnôt vo vnútri skupín opakovania
Vo vnútri opakovania ${fieldname} odkazuje na pole v tej istej inštancii opakovania:
relevant: ${member_age} < 18
Toto používa hodnotu member_age pre aktuálnu inštanciu opakovania, nie pre všetky inštancie.
Na odkazovanie poľa v konkrétnej inštancii opakovania zvonku opakovania použite indexed-repeat():
indexed-repeat(${member_name}, ${household_members}, 1)
Úplné podrobnosti nájdete v Funkcie — Funkcie opakujúcich sa polí.
Kontroly prázdnej hodnoty
Otestujte, či bola otázka zodpovedaná:
${fieldname} != '' (pole nie je prázdne)
${fieldname} = '' (pole je prázdne)
Pre čísla tiež skontrolujte:
${age} > 0 (vek má kladnú hodnotu — implicitne neprázdne pre numerický kontext)
Typové nútenie v referenciách
Keď použijete ${fieldname} v numerickom kontexte (napr. ${age} + 1), rtSurvey automaticky prekonvertuje hodnotu reťazca na číslo. Prázdne pole sa prekonvertuje na 0 alebo NaN v závislosti od operácie — použite coalesce(${field}, 0) na bezpečné nastavenie predvolenej hodnoty prázdneho numerického poľa na nulu.