Php SFO选项不适用于多选元素

Php SFO选项不适用于多选元素,php,symfony1,symfony-forms,Php,Symfony1,Symfony Forms,sfValidatorChoice不适用于多选元素,我的代码 $this->form=new MyTestForm(); $options_array=array("php","python","java"); $widgetSchema["my_select"] =new sfWidgetFormChoice(array('choices' => $options_array,'multiple' => true,'expanded' => true ));

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_键,并直接将数组传递给sfValidatorChoice

当我提交时,它会给我
无效
错误(选中时)和
必需
(未选中时)。
参数中是否有错误或存在错误?

首先,您需要在验证程序和小部件中启用“多个”:

"multiple" => true
要使任何选择可选,您需要将required设置为
false

"required" => false
最后,我记不清如何使用sfValidatorChoice(已经有一段时间了),但我认为最好让这些值可读,所以我会:

$options_array=array('php'=>'php','python'=>'python','java'=>'java');
我不确定这是否会解决问题,但它可能会解决问题。

问题是,我没有在sfValidatorChoice中设置“multiple”=>true,“choices”=>$options\u数组。因此,它没有按预期工作。。。