title: jquery validate remote validation only works if field is changed
body: <pre><code>&lt;?PHP
  $attributes = array('class' =&gt; "profile_form", 'id' =&gt; "profile_form",'name'=&gt;"profile_form");
  echo form_open_multipart("$form_action",$attributes);
  ?&gt;
  &lt;LABEL for='email'&gt;E-Mail&lt;/LABEL&gt;
  &lt;INPUT type='text' id='email' name="email" class="w200" value='&lt;?PHP echo $email;?&gt;' remote="&lt;?PHP echo base_url()."php/unique_email.php?id=$id"; ?&gt;"&gt;
  &lt;DIV class='ca clr-lr'&gt;
  &lt;input type="submit" id="submitbutton" name="submitbutton" value="&lt;?PHP echo $title;?&gt;" class="pr mbutton"/&gt;
  &lt;/DIV&gt;
  &lt;/FORM&gt;
  </code></pre>
  
  <p>and </p>
  
  <pre><code>    rules: {
          email: {
              required:true,
              email:true
          }
      }
  </code></pre>
  
  <p>This is the code I am using to to validate email field. It works fine if I change the email field or type a new value, but If I just submit the form it gives me an error. After a brief inspection I found out that the submit button is not included in post data if I do not edit the email field.</p>
  
  <p>What am I doing wrong, please help.</p>
  
  <p>And here is my controller code, It might help expand the scope of debugging. I am checking whether submitbutton is part of post data or not.</p>
  
  <pre><code>if($this-&gt;input-&gt;post('submitbutton') !== false){
          if ($this-&gt;form_validation-&gt;run('admin_profile_form') == FALSE){
              $form=(array)$this-&gt;input-&gt;post();
              $data=array_merge($form,$data);
          }else{
              //database fields
              $database = array(
                  'first_name' =&gt; $this-&gt;input-&gt;post('first_name'),
                  'last_name' =&gt; $this-&gt;input-&gt;post('last_name'),
                  'email' =&gt; $this-&gt;input-&gt;post('email'),
                  'phone' =&gt; $this-&gt;input-&gt;post('mobile')
              );
              $user_id=$user-&gt;id;
              $this-&gt;db-&gt;where('id',$user_id);
              $this-&gt;db-&gt;update('users',$database);
              $this-&gt;session-&gt;set_flashdata('message_type', 'info');
              $this-&gt;session-&gt;set_flashdata('message', 'Profile updated');
              redirect($this-&gt;homepage);
              return;
          }
      }
  </code></pre>
  
  <p>And finally the solution as suggested by Fabio Antunes worked.</p>
  
  <p>I changed the rule as following and removed the inline remote from the input field</p>
  
  <pre><code>        email: {
              required:true,
              email:true,
              remote: {
                  url: "php/unique_email.php",
                  async: false,
                  type: "post",
                  data: { id: $('#edit_id').val() }
              }
          }
  </code></pre>