Yii Noob здесь.
Я сделал выпадающую форму авторизации, которая отображается как частичная. Он отлично работает, когда учетные данные пользователя верны, и перенаправляет туда, куда я хочу. Однако, если проверка формы или проверка подлинности не удалась, я не могу получить сообщения об ошибках, которые будут переданы в форму входа. Я думаю, проблема в том, что моя форма входа в систему находится в основном макете (потому что я хочу, чтобы она была доступна в любой момент), и что контроллер не может передать переменные в макет чистым способом.
Итак, вот мое действие по входу в SiteController
public function actionLogin ()
{
$form = new LoginForm;
if (isset($_POST['LoginForm']))
{
$form->attributes=$_POST['LoginForm'];
//validate user input and redirect to user panel if valid
if($form->validate() && $form ->login())
{
$success = "oui";
$this->render('user_panel');
}
else
{
$success = $form->getError('login').$form->getError('password');
$this->render('index',array('success'=>$success));
//here I can pass the error messages to the index view for example, but not to the login form in the main layout, how can I do this?
}
}
}
Кроме того, в форме входа я установил для enableAjaxValidation значение true, как это работает? Могу ли я сказать контроллеру, чтобы он также отвечал через Ajax прямо на форму?
Последний вопрос: форма должна отображать $ form-> errorSummary ($ model) и модель, являющаяся новой LoginForm. Почему он никогда не отображает сводку ошибок?
Спасибо за внимание