سؤال

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');

لست متأكدًا من أن هذا سيصلح المشكلة ، لكنه قد يفعل ذلك جيدًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top