2

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(チェックを外した場合)が表示されます。パラメータにエラーがありますか、それともバグですか?

4

1 に答える 1

2

まず、バリデータとウィジェットで「複数」を有効にする必要があります。

"multiple" => true

false任意の選択をオプションにするには、 required を次のように設定する必要があります。

"required" => false

最後に、sfValidatorChoice の使用方法を正確に思い出せません (かなり時間がかかりました) が、値を読みやすくするのが最善だと思うので、次のようにします。

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

これで問題が解決するかどうかはわかりませんが、うまくいくかもしれません。

于 2010-10-05T12:47:29.920 に答える