Yii2 引导模式中的问题

Yii2 引导模式中的问题,yii2,bootstrap-modal,yii2-advanced-app,Yii2,Bootstrap Modal,Yii2 Advanced App,我正在使用引导模式登录。这是我的控制器代码 public function actionSignin() { $this->layout= "main"; $model = new LoginForm(); if ( isset( $_POST[ 'LoginForm' ] ) ) { if ( $model->load( Yii::$a

我正在使用引导模式登录。这是我的控制器代码

public function actionSignin()
        {
            $this->layout= "main";
            $model = new LoginForm();

            if ( isset( $_POST[ 'LoginForm' ] ) )
            {

                if ( $model->load( Yii::$app->request->post() ) && $model->login() )
                {
                    $session = Yii::$app->session;
                    $session['username'] = $model->user->first_name;
                    $session['userid'] = $model->user->id;

                    return $this->redirect( [ '/site/home' ] );
                }
                else
                { 

                    Yii::$app->getSession()->setFlash('error', 'Incorrect Email or Password or both');
                    return  $this->renderAjax( 'signin', [ 'model' => $model ] );
                }
            } 

            else
            {
                return  $this->renderAjax( 'signin', [ 'model' => $model ] );
            }
        }
当用户点击以下链接时,登录表单弹出

echo Html::a( Yii::t( 'app', ' {modelClass}', ['modelClass' => 'SignIn',
                        ] ), [ 'account/signin' ], [ 'class' => 'btn btn-link  fa fa-sign-in btn-primary sign']
                        );
当用户输入正确的用户名和密码时,用户将被重定向到站点/主页,如代码中所示。但当用户输入不正确的用户名或密码时,模式应再次弹出,但不会弹出。相反,我得到了一个白色背景(无布局)的页面,其中包含输入用户名和密码的字段。我无法在模式弹出窗口中看到它为什么


在您的
表单中添加如下内容:

<?php $form = ActiveForm::begin(['enableAjaxValidation' => true,]); ?>
去这个。这可能会有帮助!
public function actionSignin()
{
        $this->layout= "main";
        $model = new LoginForm();

        if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) 
        {
           Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
           return ActiveForm::validate($model);
        }

        if ( $model->load( Yii::$app->request->post() ) && $model->login() )
        {
             $session = Yii::$app->session;
             $session['username'] = $model->user->first_name;
             $session['userid'] = $model->user->id;

             return $this->redirect( [ '/site/home' ] );
        }
        else
        { 
             Yii::$app->getSession()->setFlash('error', 'Incorrect Email or Password or both');
             return  $this->renderAjax( 'signin', [ 'model' => $model ] );
        }
        return  $this->renderAjax( 'signin', [ 'model' => $model ] );
}