遇到验证错误后,CakePHP无法提交表单

时间:2013-10-16 10:02:37

标签: php validation cakephp

所以我对其中一个模特进行了add操作。有一些验证规则,如“不能留空”。

如果我第一次正确填写表格并提交,则会成功保存数据。如果我发出验证错误,但我会收到表单上的错误警告,这很好。然后我纠正验证错误并尝试重新提交。这次页面似乎刷新了(尽管表格中的数据已经重新填充),但表格没有保存。

以下是我在控制器中的操作:

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:为了澄清何时我提出有问题的验证错误,它会在提交表单时产生:页面重新加载,带错误的输入以红色突出显示。提交前验证检查不会发生此问题 - 即提醒错误数据的工具提示。

1 个答案:

答案 0 :(得分:0)

在你的行动中尝试

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

它将回答表单未保存的原因