Вопрос проверки CakePHP с плагином - PullRequest
1 голос
/ 19 декабря 2010

В моем приложении CakePHP я настроил плагин PersistantValidation для проверки моих форм на уровне модели благодаря доброму предыдущему предложению .Плагин, по сути, делает так, что вы можете использовать проверку модели на частичном без перенаправления на основную страницу (например, представление register.ctp или представление login.ctp).

Проверкаотлично работает для формы входа, но по какой-то причине он не работает должным образом в форме регистрации пользователя.

Контроллер выглядит следующим образом:

function register() {
  if(!empty($this->data)) {
   $name = $this->data['User']['name'];
   $email = $this->data['User']['email'];
   $password = $this->Password->generatePassword();
   $this->data['User']['password'] = $this->Auth->password($password);
   $this->User->create();
   if($this->User->save($this->data)) {
    $this->Session->setFlash(__('Your account has been created!', true));
    $this->redirect(array('controller' => 'users', 'action' => 'offers'));
   } else {
    $this->redirect($this->referer());
   }
  }
 }

Компонент PresistentValidation также правильно настроен ивключен, так как он прекрасно работает в функции login () в том же контроллере.Когда я запускаю этот код, ничего не происходит.Нет перенаправления от частичного, что хорошо, но ошибки не отображаются.Кроме того, ошибки отображаются при переходе к представлению register.ctp, что означает, что с самими проверками проблем не возникает.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 18 ноября 2011
function register() {
    if(!empty($this->data)) {
        $this->data['User']['password'] = $this->Auth->password($password);
        if($this->User->save($this->data)) {
            $this->Session->setFlash(__('Your account has been created!', true));
            $this->redirect(array('controller' => 'users', 'action' => 'offers'));
        } else {
            $this->redirect($this->referer());
        }
    }
}
...