Yii AJAX验证
用户名验证只能在服务器端进行,因为只有服务器具有所需的信息。在这种情况下,您可以使用基于AJAX的验证。
第1步 - 要启用AJAX验证,请按照 这种方式修改 注册 视图。
<?php use yii\bootstrap\ActiveForm; use yii\bootstrap\Html; ?> <div class = "row"> <div class = "col-lg-5"> <?php **$form = ActiveForm::begin(['id' => 'registration-form', 'enableAjaxValidation' => true]);** ?> <?= $form->field($model, 'username') ?> <?= $form->field($model, 'password')->passwordInput() ?> <?= $form->field($model, 'email')->input('email') ?> <?= $form->field($model, 'country') ?> <?= $form->field($model, 'city') ?> <?= $form->field($model, 'phone') ?> <div class = "form-group"> <?= Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'registration-button']) ?> </div> <?php ActiveForm::end(); ?> </div> </div>
我们还应该准备服务器,以便它可以处理AJAX请求。
第2步 - 以这种方式修改 SiteController 的 actionRegistration 方法。
public function actionRegistration() { $model = new RegistrationForm(); if (Yii::$app->request->isAjax && $model->load(Yii::$app->request>post())) { Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($model); } return $this->render('registration', ['model' => $model]); }
第3步 - 现在,转到 http:// localhost:8080 / index.php?r =站点/注册 ,您会注意到表单验证是通过AJAX请求完成的。
会话使数据可以通过各种页面访问。会话将在存储所有会话变量的临时目录中的服务器上创建一个文件。这些数据可在您访问特定用户期间访问您网站的所有页面。会话开始时,会发生以下情况 -PHP为该特定会话创建一个唯一的ID。名 ...