2010-12-06 4 views
4

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

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

ответ

3

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

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

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

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

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

+0

Brilliant !! Спасибо – Justin 2010-12-06 21:13:51

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