В прошлом я решил эту проблему с помощью этого компонента PersistentValidation . Вы можете настроить его, включив компонент PersistentValidation
в свой UsersController
и любой другой контроллер, в который вы планируете включить элементы входа / регистрации.
Ваши регистрационные / регистрационные формы будут подчиняться соответствующим действиям контроллера. Если проверка не пройдена, действие будет перенаправлено обратно на ссылающуюся страницу. Например:
if (!$validated) {
$this->redirect($this->referer());
}
Представление, вызванное действием, на которое вы перенаправляете, будет автоматически заполнено ошибками проверки из предыдущего запроса.
Это работает за кадром, сохраняя ошибки проверки в переменной сеанса и извлекая эти ошибки после перенаправления, делая их доступными для представлений / элементов текущего запроса. Вы можете сделать это самостоятельно, но компонент делает его очень безболезненным.