مرحباً! أنا أستخدم قوالب نماذج Discourse لإنشاء المواضيع، والتحقق من الصحة يعمل بشكل صحيح لجميع أنواع الحقول باستثناء upload (الرفع).
على الرغم من تعيين validations: required: true على حقل upload، لا يزال بإمكان المستخدمين إرسال النموذج دون إرفاق أي ملفات.
فهمي هو أنه عندما يحتوي حقل upload على:
validations:
required: true
…يجب أن يمنع النموذج الإرسال ما لم يتم رفع ملف واحد على الأقل. يتم عرض النموذج بشكل صحيح. تفرض الحقول الأخرى (الإدخال، منطقة النص، محدد العلامات، التحقق من صحة عنوان URL) required كما هو متوقع، لكن حقل upload لا يمنع الإرسال عندما يكون فارغًا.
صيغة YAML صالحة ويتم تحميل القالب بدون أخطاء. عمليات رفع الملفات نفسها تعمل بشكل صحيح عند استخدامها، لذا تبدو المشكلة خاصة بفرض required على حقل upload. تبدو سلسلة YAML الخاصة بي لهذا الرفع في القالب الخاص بي كما يلي:
- type: upload
id: patch-uploaded
attributes:
file_types: “.jpg, .png, .gif, .zip”
allow_multiple: true
label: “Upload your .zip”
validations:
required: true
شكراً مقدماً على أي مساعدة!