Yii - AJAX सत्यापन

उपयोगकर्ता नाम सत्यापन केवल सर्वर साइड पर किया जाना चाहिए क्योंकि केवल सर्वर में आवश्यक जानकारी है। इस स्थिति में, आप AJAX आधारित सत्यापन का उपयोग कर सकते हैं।

Step 1 - AJAX सत्यापन सक्षम करने के लिए, संशोधित करें registration इस तरह से देखें।

<?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 अनुरोधों को संभाल सके।

Step 2 - संशोधित करें actionRegistration की विधि SiteController इस तरफ।

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]); 
}

Step 3 - अब, करने के लिए जाओ http://localhost:8080/index.php?r=site/registration, आप देखेंगे कि फार्म सत्यापन AJAX अनुरोधों द्वारा किया जाता है।