populate()
このチェックボックスについてデータが渡されないのに、値= 0のこのチェックボックスがチェックされる理由がわかりません...
私のフォーム要素:
$this->addElement('multiCheckbox', 'etoiles', array(
'filters' => array('Int'),
'separator' => '',
'label_placement' => 'prepend',
'label_class' => 'caseacocher',
'decorators' => $decorator_chain,
));
$listeEtoiles = array(
'0' =>'Sans étoiles',
'1' => '1 étoile"',
'2' => '2 étoiles',
'3' => '3 étoiles',
'4' => '4 étoiles',
'5' => '5 étoiles',
) ;
$this->getElement('etoiles')->addMultiOptions($listeEtoiles) ;
フォームをコントローラーに入力する方法:
$this->view->searchForm->populate($this->getRequest()->getPost()) ;
ダンプ時に得られるもの$this->getRequest()->getPost('etoiles')
:NULL
チェックボックスで得られるもの:
<input id="etoiles-0" type="checkbox" checked="checked" value="0" name="etoiles[]">
理解できません。についてのデータがないのに、このチェックボックスをオンにするにはどうすればよいですetoiles[]
か?? 「Int」フィルターがそれと関係があることがわかりました。削除する必要がありますか? そして、この Int フィルターを保持したい場合はどうすればよいでしょうか?
バリデーターはありません。いくつか追加する必要がありますか?InArray バリデータはどうですか? $_POST データは文字列として渡されると考えていたため、values 配列は文字列インデックスを使用しています。間違いですか?
コメントやヘルプをいただければ幸いです:)