sfValidatorChoice не работает на элементе множественного выбора - PullRequest
2 голосов
/ 05 октября 2010

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 (когда не проверено).есть ли ошибка в параметрах или это ошибка?

1 Ответ

2 голосов
/ 05 октября 2010

Во-первых, вам нужно включить «несколько» в валидаторе, а также в виджете:

"multiple" => true

Чтобы сделать любой выбор необязательным, вам нужно установить значение обязательного false:

"required" => false

Наконец, я не могу точно вспомнить, как использовать sfValidatorChoice (это было давно), но я думаю, что лучше сделать значения читаемыми, поэтому я бы сделал:

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

Я не уверен, что это решит проблему, но вполне может помочь.

...