الإشارة إلى القيم
تُستخدم صياغة ${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) للتأكد من أن الحقل الرقمي الفارغ يُعطي قيمة صفر بشكل آمن.