yii2 ajax登录 [ 2.0 版本 ]
怎样实现ajax登录,当用户名或密码错误的时候,获取到rules中的错误信息
最佳答案
-
controller:
$model = new RegForm(); $model->setScenario ('add'); if ( $model->load ( Yii::$app->request->post () ) ) { if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) { Yii::$app->response->format = Response::FORMAT_JSON; $model->setScenario ('ajax'); return ActiveForm::validate($model); } // ... if($model->signUp()){ return $this->redirect(['site/login']); } }
model:
public function rules () { return [ [ [ 'email', 'verifycode' ], 'filter', 'filter' => 'trim', 'on'=>['add', 'ajax'] ], [ [ 'email', 'password', 'verifycode' ], 'required', 'message' => '不能为空', 'on'=>['add', 'ajax'] ], [ 'email', 'email', 'message' => '邮箱格式不正确', 'on' => [ 'add', 'ajax' ] ], [ 'verifycode', 'captcha', 'message' => '验证码不正确', 'on'=>['add'] ], ]; }
view:
<?php $form = ActiveForm::begin ( [ 'id' => 'reg-form', 'enableAjaxValidation'=>true, 'options' => [ 'class' => 'form-horizontal'], ] ); ?> ...
大概是这样
共 3 条回复
其他 4 个回答
-
http://www.yiichina.com/doc/guide/2.0/input-forms
use yii\widgets\Pjax; use yii\widgets\ActiveForm; Pjax::begin([]); $form = ActiveForm::begin([ 'options' => ['data' => ['pjax' => true]], ]); ActiveForm::end(); Pjax::end();
记得采纳我的答案。
共 2 条回复
pengcx 鹭岛
注册时间:2017-04-21
最后登录:2022-11-08
在线时长:100小时57分
最后登录:2022-11-08
在线时长:100小时57分
- 粉丝1
- 金钱17010
- 威望10
- 积分18110