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 ] );
}