我正在运行一个Ajax教程示例,并且一行在控制器文件中出错。我正在做的是如果一个字段为空并且用户模糊了它,则会在该字段下方显示错误。
这是MessagesController.php中的整个函数
public function validate_form()
{
if($this->RequestHandler->isAjax())
{
$this->request->data['Message'][$this->request->params['form']['field']] = $this->request->params['form']['value'];
$this->Message->set($this->request->data);
if($this->Message->validates())
{
$this->autoRender = FALSE;
}
else
{
$error = $this->validateErrors($this->Message);
$this->set('error', $error[$this->request->params['form']['field']]);
}
}
}
错误行是这样的:
$this->request->data['Message'][$this->request->params['form']['field']] = $this->request->params['form']['value'];
错误就是这个
Undefined index: form [APP\Controller\MessagesController.php, line 30]
实际上这个教程是基于以前版本的Cake,但是我已经进行了与当前版本兼容的正确更改,但仍然显示错误。有人可以告诉我这行或代码中的其他地方可能有什么问题。非常感谢。
答案 0 :(得分:0)
$this->request->params
不包含form
索引。
我认为你应该看看你的$this->request->data
?
$this->request->params
仅包含有关您的请求的信息:操作,控制器,任何命名参数等。
你得到的错误实际上是正常的。
添加评论并附带教程链接。