通常情况下,如果我使用CakePHP的魔法并验证表单,那么它将“保留表单”,这意味着用户不必重新输入所有内容。此外,CakePHP默认标记验证失败的所有字段。我的问题是,因为我将所有表单数据发送到API,我怎么还能使用CakePHP的所有魔法呢?
我查看了自定义验证方法,但问题是我必须立即将所有数据发送到API,我会立即收到所有错误(结算信息)。
答案 0 :(得分:0)
答案 1 :(得分:0)
也许您在错误验证后从数据库设置$ this-> request->数据?仅在GET请求中检索模型数据。在博客教程中使用它:
public function edit($id = null) {
$this->Post->id = $id;
if ($this->request->is('get')) {
$this->request->data = $this->Post->read();
} else {
if ($this->Post->save($this->request->data)) {
$this->Session->setFlash('Your post has been updated.');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('Unable to update your post.');
}
}
}
答案 2 :(得分:0)
如果您只是使用api来测试单个字段,那么为您的模型编写一个调用该api方法的自定义验证器。如果你的api正在验证整个模型或多个字段,你可以做一个
$这 - >模型 - >设置($这 - >数据); if($ this-Model-> validates()){ / *致电Api / 如果错误 / 以与Cake验证相同的格式设置$ this-Model-> validationErrors。 否则重定向到成功页面。 }