قيد
يُستخدم عمود constraint للتحقق من صحة إدخال المستخدم. يمنع المستخدم من المتابعة حتى تفي الإجابة بشرط تقوم بتعريفه.
إذا لم تلبِ الإجابة القيد، يتم عرض رسالة مُعرّفة في constraint_message للمستخدم.
📝 كيفية عمل القيود
قيمة السؤال ممثلة بنقطة (.)، والتي تعني "الإجابة الحالية." تُنشئ تعبيرًا منطقيًا باستخدام تلك القيمة.
تُستخدم القيود عادةً لـ:
تحديد نطاقات رقمية (مثال: يجب أن يكون العمر بين 0 و120)
طلب مطابقة تنسيقات (مثال: الرموز البريدية، البريد الإلكتروني)
فرض تبعيات (مثال: تاريخ الانتهاء بعد تاريخ البدء)
integer
age
عمرك
. >= 18 and . <= 99
يجب أن يكون العمر بين 18 و99
text
zip
الرمز البريدي
regex(., '^\d{5}$')
أدخل رمزًا بريديًا مكونًا من 5 أرقام
text
البريد الإلكتروني
عنوان البريد الإلكتروني
regex(., '^[^@]+@[^@]+.[^@]+$')
أدخل بريدًا إلكترونيًا صالحًا
date
end
تاريخ الانتهاء
. >= ${start}
يجب أن يكون تاريخ الانتهاء بعد تاريخ البدء
☑️ استخدام النقطة (.) في constraint
النقطة . تمثل القيمة التي أدخلها المستخدم للسؤال الحالي. استخدمها داخل الدوال والتعابير:
. >= 0— صالح إذا كانت القيمة 0 أو أكبرregex(., '^\d{5}$')— صالح إذا طابق النمط
🔠 إشارات المتغيرات
يمكنك استخدام ${question_name} للإشارة إلى إجابات من أسئلة أخرى في النموذج. تأكد من أن الأسئلة المشار إليها تظهر في وقت سابق داخل النموذج.
مثال:
. > ${min_age}— يضمن أن الإدخال الحالي أكبر من قيمة مُدخلة سابقًا
🔢 العوامل والدوال للقيود
مثلما في relevance، يمكنك استخدام:
=, !=, >, <, >=, <= and, or, not()
regex()
يتحقق من تنسيق إدخال نصي
regex(., '^\d{5}$') لرموز ZIP الأمريكية
string-length()
يفحص عدد الحروف
string-length(.) <= 50
selected()
يتحقق مما إذا تم اختيار خيار
selected(${choices}, 'option1')
today()
يحصل على التاريخ الحالي
. <= today()
now()
يحصل على التاريخ والوقت الحاليين
. <= now()
Last updated
Was this helpful?