AJax技术

Yii Framework 中文社区

字号+ 作者:H5之家 来源:H5之家 2017-11-15 08:18 我要评论( )

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-s

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 条回复

pengcx 回答于 23小时前

好像yii2自带的登录就是ajax的,错误信息可以用{error}。我最想要实现的是,错误信息弹窗显示,大哥你有做过吗

ioioj5 回答于 21小时前

@pengcx 不大明白你什么意思,是实现弹窗还是获取错误信息, 如果是获取错误信息的话, model验证的错误信息都在 $model->errors里面, 你dump一下看看就知道了;

pengcx 回答于 21小时前

@ioioj5 我是想在视图层以弹窗的形式展示错误信息

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 《Pro ASP.NET MVC 3 Framework》学习笔记之三十三 【安全性】

    《Pro ASP.NET MVC 3 Framework》学习笔记之三十三 【安全性】

    2016-07-17 13:00

网友点评
l