2017-10-11 5 views
1

c'est ma forme vueLa validation du code de codeigniter PHP échoue. Quelle est l'erreur du flux

<?php echo form_open('', 'id="merchantReg"'); ?> 
<div class="modalFormBody"> 
    <div class="modalFormRow"> 
     <div class="form-group modalFormGroup modalFormGroup1"> 
      <label for="fname">First name</label> 
      <input type="text" class="form-control modalForm" name="mr_f" id="mr_fname" placeholder="Your first name"> 
      <p id="fnameValidation"></p> 
     </div> 
     <div class="form-group modalFormGroup modalFormGroup2"> 
      <label for="lname">Last name</label> 
      <input type="text" class="form-control modalForm" name="mr_lname" id="mr_lname" placeholder="Your last name"> 
      <p id="lnameValidation"></p> 
     </div> 
    </div> 
    <div class="modalFormRow"> 
     <div class="form-group modalFormGroupBlock"> 
      <label for="fname">Business name</label> 
      <input type="text" class="form-control modalForm" name="mr_bname" id="mr_bname" placeholder="Your business name"> 
      <p id="bnameValidation"></p> 
     </div> 
    </div> 
</div> 
<?php echo form_close(); ?> 

ceci est mon js

<script> 
    if (vFN && vLN && vCon && emailValidation && Vbn) { 
     createXMLHttpRequests(); 
     var url = baseURL + "admin/getting_started/creatMerchantRequest"; 
     var xmlHttp = new XMLHttpRequest(); 
     xmlHttp.open("POST", url, true); 
     xmlHttp.onreadystatechange = function() { 
      if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 
       var res = xmlHttp.responseText; 
       obj = JSON.parse(res); 
       if (obj) { 
        document.getElementById('homeMerchantRes').style.display = 'block'; 
       } else { 

       } 
      } 
     }; 
     xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
     var vars = "fn=" + fn + "&ln=" + ln + '&e=' + e + '&cont=' + cont + '&bn=' + bn; 
     xmlHttp.send(vars); 
    } 
</script> 

ceci est ma fonction de contrôleur

<?php 
$this->load->helper(array('form', 'url')); 
$this->load->library('form_validation'); 

$mid = 0; 
// $this->form_validation->set_rules('mr_f', 'First Name', 'trim|required|min_length[2]|max_length[38]|xss_clean'); 
$this->form_validation->set_rules('mr_f', 'Username', 'required|min_length[5]|max_length[12]|is_unique[users.username]'); 
$this->form_validation->set_rules('mr_lname', 'Last Name', 'trim|required|min_length[2]|max_length[38]|xss_clean'); 
$this->form_validation->set_rules('mr_bname', 'Business Name', 'trim|required|min_length[2]|max_length[38]|xss_clean'); 


if ($this->form_validation->run() == TRUE) { 

} else { 
    $mid = $this->form_validation->error_array(); 
    print_r($mid); 
} 
?> 

les règles de validation php CodeIgniter sont ne fonctionne pas. Quelqu'un peut-il expliquer quelle est la raison de cela? Je

+0

Ajoutez svp Load library form_validation dans construct comme ... –

Répondre

0

1) Obtenir obtenir la valeur de forme et de passer pour former comme

<script type="text/javascript"> 
    $(document).ready(function(){ 
    var dataString = $("#FormId").serialize(); 
    var url="ControllerName/MethodName" 
     $.ajax({ 
     type:"POST", 
     url:"<?php echo base_url() ?>"+url, 
     data:dataString, 
     success:function (data) { 
      alert(data); 
     } 
     });  
    }) 
</script> 

bibliothèque charge form_validation en construction comme ...

$this->load->library('form_validation'); 

$this->load->helper('form'); 

Maintenant, écrivez votre contrôleur comme ..

// votre code de contrôleur.

$mid = 0; 
    // $this->form_validation->set_rules('mr_f', 'First Name', 'trim|required|min_length[2]|max_length[38]|xss_clean'); 
    $this->form_validation->set_rules('mr_f', 'Username', 'required|min_length[5]|max_length[12]|is_unique[users.username]'); 
    $this->form_validation->set_rules('mr_lname', 'Last Name', 'trim|required|min_length[2]|max_length[38]|xss_clean'); 
    $this->form_validation->set_rules('mr_bname', 'Business Name', 'trim|required|min_length[2]|max_length[38]|xss_clean'); 


    if($this->form_validation->run() == TRUE) { 

     } 
     else{ 
     $mid = $this->form_validation->error_array(); 
     print_r($mid); 
     }`