0

だから私はadd自分のモデルの1つにアクションを持っています。「空白のままにすることはできません」など、いくつかの検証規則があります。

初めてフォームに正しく入力して送信すると、データが正常に保存されます。ただし、検証エラーが発生した場合、フォームのエラーが警告されます。これは素晴らしいことです。次に、検証エラーを修正し、再送信を試みます。今回は、ページが更新されたように見えますが (フォームのデータは再入力されます)、フォームは保存されません。

コントローラーでの私のアクションは次のとおりです。

public function add(  ){
    if ($this->request->is('post')) {

        $this->Sedol->create();
        if ($this->Sedol->save($this->request->data)) {
            $this->Session->setFlash(__('Sedol has been saved.'), 'default', array('class' => 'alert alert-success'));
            return $this->redirect(array('action' => 'index'));
        }
        $this->Session->setFlash(__('Unable to add sedol.'), 'default', array('class' => 'alert alert-danger'));
    }
    $this->set('ipsAssets', $this->Sedol->IpsAsset->find('list'));
}

なぜこれが起こっているのですか?

編集:ポストデータがそこにあるデバッガーを見ると、それはただ拾われていません...

Edit2:問題の検証エラーをいつ発生させるかを明確にするために、フォームが送信されたときに発生します。ページがリロードされ、エラーのある入力が赤で強調表示されます。この問題は、送信前の検証チェック (つまり、間違ったデータを警告するツールチップ) では発生しません。

4

1 に答える 1

0

あなたの行動でしようとする

if ($this->Sedol->save($this->request->data)) {
// code
}
pr($this->Sedol->validationErrors);

フォームが保存されない理由を答えます

于 2013-10-17T13:41:08.153 に答える