CakePHP, сохраняющий ошибки проверки после перенаправления - PullRequest
3 голосов
/ 08 марта 2011

У меня есть элемент, который отображает форму комментария, действие - комментарии / добавления.Если форма не проверяется, я не хочу, чтобы пользователи переходили в комментарии / добавления (представление для которых не существует), но я хочу, чтобы они оставались на той же странице и видели там ошибки проверки.

Однако перенаправление на $ this-> referer () не работает - ошибки проверки исчезают, и остается только флэш-сообщение.

public function add(){
    if (!empty($this->data)){
        $this->Comment->create();
        if ($this->Comment->save($this->data)){
            $this->Session->setFlash('Comment added.','success');
            $this->redirect($this->referer());
        }else{
            $this->Session->setFlash('There was a problem adding your comment.  Please try again.','failure');
        }
    }
}

Как сохранить ошибки проверки и сформировать данныена редирект?Если это невозможно, как еще я могу решить проблему?

Большое спасибо,

Будет

Ответы [ 2 ]

1 голос
/ 08 марта 2011
0 голосов
/ 10 марта 2011

Просто удалите $ this-> redirect ($ this-> referer ());в целом.

Кроме того, если вы правильно настроили валидацию полей, как пользователь вообще может перейти на перенаправление?Функция save () должна завершиться ошибкой, если введены неверные данные, и пользователь никогда не увидит перенаправления и БД никогда не примет никаких данных.

...