多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
注册时不用提交就验证用户名、邮箱等是否已将存在,用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)