Referencing values
Η σύνταξη ${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} σε κείμενο | "Η ηλικία σας είναι ${age} έτη" |
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) για ασφαλή προεπιλογή κενού αριθμητικού πεδίου σε μηδέν.