0

フォームにフィルターと検証を設定します。また、検証に失敗したときにフォームに戻すために使用$form->populateしますが、機能していません。$data

if ($this->getRequest()->isPost()) {
    if(!$searchForm->isValid($this->getRequest()->getPost()))
        {
         $searchForm->populate($searchForm->getUnfilteredValues());
         $this->view->searchForm = $searchForm;
        }

これを実行するとfilteredValues、代わりに検索フィールドが表示されUnfilteredValuesます。私が間違っているのは何ですか?ありがとうございました。

4

1 に答える 1

0

メソッドが実際にフォームに入力する!$searchForm->isValid($searchForm->getValues()ため、 negation を適用しないでください。isValid

コードは次のようになります。

if ($this->getRequest()->isPost()) {
    if($searchForm->isValid($this->_request->getPost()))
        {
           // do insert, upload or others
        }
}

前に述べたように、isValidフォームが無効化された場合、このメソッドは実際にフォームに入力します。

よろしくお願いします!

于 2013-10-17T19:06:56.393 に答える