2014-01-30 1 views
0

Я запускаю пример учебника Ajax и строка дает ошибку в файле контроллера. Я делаю это, если поле пустое, и пользователь вымывается из него, ошибка будет отображаться ниже поля.Неопределенная ошибка индекса в Cakephp

Вот вся функция в 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, но я внес соответствующие изменения, совместимые с текущей версией, но sti ll ошибка. Может кто-нибудь, пожалуйста, скажите мне, что может быть неправильно в этой строке или в другом месте кода. Большое спасибо.

+3

'var_dump ($ this-> request-> params);' и проверить, действительно ли в нем существует форма или нет. – Rikesh

ответ

0

$this->request->params не содержит индекс form.

Я думаю, вы должны смотреть на свой $this->request->data?

$this->request->params имеет только информацию о вашем запросе: действие, контроллер, любые именованные параметры и т. Д.

Ошибка, которую вы получаете, на самом деле нормальная.

Добавить комментарий со ссылкой на учебник.

+0

Это видео tutorail на YT. Этот парень очень осведомлен, и я когда-то слежу за его учебниками. Он объясняет два руководства по использованию Ajax. Первый работает нормально, а второй нет, пока весь код такой же, за исключением некоторых изменений, которые я сделал, чтобы сделать его совместимым с последней версией Cakephp. Вот ссылка (http://www.youtube.com/watch?v=dQ71psonQx0) – user3224207

+0

ах, извините, но я не могу посмотреть учебник по программированию за один час видео ... –

+0

Anyways thanks Ilie. – user3224207

 Смежные вопросы

  • Нет связанных вопросов^_^