Mereferensikan nilai
Sintaks ${fieldname} digunakan untuk merujuk ke nilai saat ini dari bidang lain dalam formulir Anda. Ini dapat mewakili nilai yang dimasukkan, dipilih, atau dihitung, dan akan ditampilkan persis seperti yang muncul dalam data yang dikirimkan.
Contoh:
Jika Anda memiliki bidang bernama “age” dan Anda ingin mengambil nilai tepat yang dimasukkan dalam bidang tersebut, Anda dapat menggunakan ${age}.
Untuk constraint, simbol “.” digunakan untuk merujuk ke entri atau pilihan yang diusulkan pengguna untuk bidang saat ini. Ini memungkinkan Anda menerapkan kondisi atau batas berdasarkan nilai yang sedang dimasukkan atau dipilih pengguna saat itu.
Contoh:
Jika Anda ingin memeriksa apakah nilai yang diusulkan untuk bidang saat ini kurang dari 3, Anda dapat menggunakan constraint . < 3.
.. — Referensi grup induk
Di dalam grup atau grup pengulangan, .. merujuk ke konteks induk. Ini jarang diperlukan dalam praktik tetapi digunakan dalam ekspresi XPath lanjutan untuk menavigasi hierarki formulir.
Di mana referensi digunakan
| Kolom | Jenis referensi | Contoh |
|---|---|---|
relevant | ${fieldname} | ${consent} = 'yes' |
constraint | . untuk bidang saat ini, ${fieldname} untuk bidang lain | . > 0 and . <= ${max_value} |
calculation | ${fieldname} | ${adults} + ${children} |
required | ${fieldname} | ${has_income} = 'yes' |
default | ${fieldname} | ${previous_answer} |
label | ${fieldname} dalam teks | "Usia Anda adalah ${age} tahun" |
choice_filter | Nama kolom (tanpa ${}) | district = ${district} |
Dalam kolom choice_filter, rujuk nama kolom pilihan secara langsung (tanpa ${}), dan rujuk bidang formulir dengan ${}. Mencampurkan keduanya adalah sumber kesalahan yang umum.
Mereferensikan nilai dalam grup pengulangan
Di dalam pengulangan, ${fieldname} merujuk ke bidang dalam instans pengulangan yang sama:
relevant: ${member_age} < 18
Ini menggunakan nilai member_age untuk instans pengulangan saat ini, bukan semua instans.
Untuk mereferensikan bidang dalam instans pengulangan tertentu dari luar pengulangan, gunakan indexed-repeat():
indexed-repeat(${member_name}, ${household_members}, 1)
Lihat Fungsi — Fungsi bidang berulang untuk detail lengkap.
Pemeriksaan nilai kosong
Uji apakah bidang telah dijawab:
${fieldname} != '' (bidang tidak kosong)
${fieldname} = '' (bidang kosong)
Untuk angka, periksa juga:
${age} > 0 (usia memiliki nilai positif — secara implisit tidak kosong untuk konteks numerik)
Koersi tipe dalam referensi
Ketika Anda menggunakan ${fieldname} dalam konteks numerik (misalnya, ${age} + 1), rtSurvey secara otomatis memaksa nilai string menjadi angka. Bidang kosong dikoersi menjadi 0 atau NaN tergantung pada operasinya — gunakan coalesce(${field}, 0) untuk secara aman mengatur default bidang numerik kosong menjadi nol.