Вопрос об обработке ошибок элемента CakePHP - PullRequest
4 голосов
/ 06 декабря 2010

У меня есть свои формы входа и регистрации в элементах, которые ссылаются на действия контроллера пользователя и login () и register ().Например, когда я использую этот элемент в модальном или в действии контроллера страницы, он перенаправляет на страницу действия входа / регистрации (а не обновляет элемент), когда у пользователя возникают ошибки проверки (то есть проверки модели).

Я понимаю, что могу использовать проверку Javascript / JQuery, но есть ли способ, чтобы проверка модели CakePHP обновляла элемент, а не перенаправляла на страницу исходного действия при возникновении ошибок?

1 Ответ

3 голосов
/ 06 декабря 2010

В прошлом я решил эту проблему с помощью этого компонента PersistentValidation . Вы можете настроить его, включив компонент PersistentValidation в свой UsersController и любой другой контроллер, в который вы планируете включить элементы входа / регистрации.

Ваши регистрационные / регистрационные формы будут подчиняться соответствующим действиям контроллера. Если проверка не пройдена, действие будет перенаправлено обратно на ссылающуюся страницу. Например:

if (!$validated) {
    $this->redirect($this->referer());
}

Представление, вызванное действием, на которое вы перенаправляете, будет автоматически заполнено ошибками проверки из предыдущего запроса.

Это работает за кадром, сохраняя ошибки проверки в переменной сеанса и извлекая эти ошибки после перенаправления, делая их доступными для представлений / элементов текущего запроса. Вы можете сделать это самостоятельно, но компонент делает его очень безболезненным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...