Monday, January 6, 2014

How to use: Remote method for Jquery form validation

I recently done work related to Async automatic Remote validation of Form elements.
Pr-requisite: Download Jquery validation Plugin from http://jqueryvalidation.org/


Step 1: define form HTML

<div class="row" style="margin-top:10px">
<div class="col-md-3"><label>User Name:</label></div>
<div class="col-md-4"><input type="text" name="user_id" id="user_id"
     class="form-control"
    placeholder="User Id" required autofocus />
</div>
</div>

Step 2:

define Form validation:
 $("#form").validate({
            rules: {
                    user_id: {
                    required:true,
                    minlength:5,
                    remote: {
                        url: 'ajax/dup_user_id_checker.php'                       
                     }
                }


Step 3:
Define remote method which return "true" for success and "error messages" for failure.
source: ajax/dup_user_id_checker.php

 public function dup_user_id_check()
       {
           $output=Array();
           if(!isset($this->request->get['user_id']))
           {
               $output="Unable to check for duplicate user name";
           }
           else
           {
               $user_id=$this->request->get['user_id'];
              
               $this->load->model('user/user');
               if($this->model_user_user->IsUserExists($user_id))
               {
                  $output="$user_id already taken.";
               }   
               else
               {
                  $this->log->write($user_id." found");
                  $output="true";   
               }
           }
           $this->data['json_output']=json_encode($output);
            $this->template = 'common/json.tpl';
        $this->children = array();
        $this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
      
       }

No comments:

Post a Comment