【问题标题】:sfValidatorChoice not working on multiple selection elementsfValidatorChoice 不适用于多选元素
【发布时间】:2010-10-05 08:25:02
【问题描述】:

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(未选中时)。 参数有错误还是bug?

【问题讨论】:

    标签: php symfony1 symfony-forms


    【解决方案1】:

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

    "multiple" => true
    

    要使任何选择成为可选,您需要将 required 设置为 false:

    "required" => false
    

    最后,我不记得如何使用 sfValidatorChoice(已经有一段时间了),但我认为最好让值可读,所以我会这样做:

    $options_array=array('php'=>'php','python'=>'python','java'=>'java');
    

    我不确定这是否能解决问题,但它可能会解决问题。

    【讨论】:

    • 问题是,我没有在 sfValidatorChoice 中设置“multiple”=> true,“choices”=>$options_array。因此它没有按预期工作......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多