如果输入现有值,某些人会遇到有关无法显示错误消息的问题。例如,我不允许用户使用现有电子邮件进行注册。
视图
<?php ...................... <?= $form->field($modelUser, 'email')->textInput(['class'=>'form-control','placeholder'=>'Email']) ?> ......................
控制者
<?php use yii\web\Response; // 重要线路 use yii\widgets\ActiveForm; // 重要线路 . .// 您的密码 . public function actionSignup() { $modelUser = new User(); //添加此用于Ajax验证 if(Yii::$app->request->isAjax && $modelUser->load(Yii::$app->request->post())){ Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($modelUser); } if ($modelUser->load(Yii::$app->request->post()) && $modelUser->save()) { return $this->redirect(['someplace nice']); } return $this->render('update', [ 'modelUser' => $modelUser, ]); }
模型
public function rules() { return [ .............. ['email', 'unique', 'message'=>'Email already exist. Please try another one.'], ........... ] }