SfValidatorChoice لا يعمل على عنصر اختيار متعدد
-
27-09-2019 - |
سؤال
SfValidatorChoice لا يعمل على عنصر محدد متعدد ، رمز بلدي
$this->form=new MyTestForm();
$options_array=array("php","python","java");
$widgetSchema["my_select"] =new sfWidgetFormChoice(array('choices' => $options_array,'multiple' => true,'expanded' => true ));
$validatorSchema["my_select"] = new sfValidatorChoice(array("choices" =>array_keys($options_array)));
ملاحظة: لقد حاولت أيضًا استخدام Array_keys وبتمرير الصفيف مباشرة إلى SfvalidatorChoice.
عندما أقدم ، يعطيني ذلك Invalid
خطأ (عند التحقق) و Required
(عندما لم يتم التحقق منها). هل هناك أي خطأ في المعلمات أم هو علة؟
المحلول
أولاً ، تحتاج إلى تمكين "متعددة" في المدقق وكذلك القطعة:
"multiple" => true
لجعل أي اختيار اختياري ، تحتاج إلى تعيين مطلوب لذلك false
:
"required" => false
أخيرًا ، لا أستطيع أن أتذكر بالضبط كيفية استخدام sfvalidatorchoice (لقد مر وقت) ، لكنني أعتقد أنه من الأفضل جعل القيم قابلة للقراءة ، لذلك سأفعل:
$options_array=array('php'=>'php','python'=>'python','java'=>'java');
لست متأكدًا من أن هذا سيصلح المشكلة ، لكنه قد يفعل ذلك جيدًا.
لا تنتمي إلى StackOverflow