Cakephp中未定义的索引错误

时间:2014-01-30 05:15:20

标签: php cakephp cakephp-2.4

我正在运行一个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,但是我已经进行了与当前版本兼容的正确更改,但仍然显示错误。有人可以告诉我这行或代码中的其他地方可能有什么问题。非常感谢。

1 个答案:

答案 0 :(得分:0)

$this->request->params不包含form索引。

我认为你应该看看你的$this->request->data

$this->request->params仅包含有关您的请求的信息:操作,控制器,任何命名参数等。

你得到的错误实际上是正常的。

添加评论并附带教程链接。