注册时不用提交就验证用户名、邮箱等是否已将存在,用Ajax实现
1.首先,先在Form表中开启Ajax ...
<?php $form = ActiveForm::begin(['enableAjaxValidation' => true]); ?>
...
2.其次,再_对应的_Controller加入一段Ajax验证的代码
...
if ($model->load(Yii::$app->request->post())) {
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
} //ajax提交过来的会直接进行验证
...
3.最后,再对应的models里面增加验证的rules ...
['username', 'unique', 'targetClass' => '\backend\models\User', 'message' => '用户名已存在.'],
//targetClass目标模型类(这个不能照抄,要结合你项目注册新用户时的模型类)
['email', 'unique', 'targetClass' => '\backend\models\User', 'message' => '邮箱已存在.'],
...
貌似三者缺一都会失效,网上的教材要么只给第二步,要么只提供第三步,着实让新手有点困惑。
为此,小白我总结研究了下,希望可以帮助对此有困惑的人
首次发帖,希望对有需要的人有帮助,欢迎大神们指正
貌似三者缺一都会失效,网上的教材要么只给第二步,要么只提供第三步,着实让新手有点困惑。
![](https://box.kancloud.cn/6c00f8b86a66b2a216dbe34fa80702f8_425x496.png)
- Yii2使用Url组件
- Yii2的Html,Request组件详解
- YII2.0框架, 多图片上传功能
- yii2-imagine配置
- 有洁癖的禁止默认YII自带垃圾代码(个人认为)、JS、CSS(新手教程)
- Yii2 API接口输出统一Json和jsonp格式方法
- MySql 创建表的一些语句释义
- Yii2联合查询(配合GridView)
- Yii 通用系统字典
- ArrayHelper的多维数组排序函数multisort,强大无比。
- 路由规则,在Url中替换使用'/'以外的符号连接
- 从excel文件中读取表格内容,并批量写入数据库
- yii2注册时验证用户名、邮箱等唯一性
- Yii2最全的实战教程
- Composer安装yii2-imagine 压缩,剪切,旋转,水印
- LinkPager增加总页数 和总记录数
- Yii2 获取模块名控制器名方法名
- Yii2使用yii2-adminlte+yii2-admin左侧菜单子路径不高亮问题又解
- 前端CSS框架
- Yii2 之 frontend 子模块实践之一:添加前后台子模块
- Yii2 之 frontend 子模块实践之二:构建子模块的独立配置
- Yii2 之 frontend 子模块实践之三:布局和语言配置
- 完美解决ajax验证码不刷新问题,让验证码更加美观,不修改任何源代码
- yii2.0 表单小部件常用的默认选中
- Yii2 controller 传值给layout
- yii2 dropDownList 二级和三级 联动写法
- 微信扫码登录 新窗口二维码 扫完关闭二维码页面 进入登录页面
- yii2 实现 "上一篇,下一篇" 功能
- Yii 行为简单应用
- SQL语句