2017-06-20 43 views
0

我和我與CI第一個應用程序的工作,我有與庫form_validation問題。VALIDATION_ERRORS()不顯示在視圖中(笨)

驗證,我的方法是做工精細,除了事實,我不能讓顯示我的錯誤消息。正如手冊所說,我試圖單獨給他們看,但沒有奏效。嘗試過使用echo validation_errors();,但該錯誤消息是在我的頁面空白顯現。

所以我做一個測試,把代碼中的控制器和他們的工作!但是它們顯示在頁面的開頭。我用一些JavaScript,使其在視覺上更好的(它移動到我希望它顯示),但它不是漂亮。我嘗試了CodeIgniter上的所有東西,但仍然沒有得到好的結果。請有人可以幫我解決這個問題嗎?

這是我的控制器user.php的

public function registrar() { 
     $this->load->library('form_validation'); 
     $this->load->view('registrar'); 

     $this->form_validation->set_rules('name', 'Nome', 'trim|required|min_length[7]', 
      array('required'  => '<br>- Por favor, insira seu nome.', 
        'min_length' => '<br>- Por favor, insira seu nome completo.')); 
     // ..... other rules 


     if ($this->form_validation->run() == TRUE) 
     { 
      $password = $this->input->post('password'); 
      $password_hash = password_hash($password, PASSWORD_BCRYPT); 

      $data = array(
       'name' => $this->input->post('name'), 
       'email' => $this->input->post('email'), 
       'password' => $password_hash 
      ); 
      if ($this->user_model->insertUser($data)) 
      { 
       $this->session->set_flashdata('error_msg','<p>Ok</p>'); 
       redirect('user/registrar'); 
      } 
      else 
      { 
       $this->session->set_flashdata('error_msg','<p>Not ok</p>'); 
       redirect('user/registrar'); 
      } 
     } 
     else 
     { 
      echo validation_errors('<div class="error">', '</div>'); //THIS LINE WORKS!!! 
     } 
    } 

這是我的看法registrar.php

<form action="" method="post" class="pure-form"> // using this only for css styling 
      <?php echo validation_errors(); ?> // THIS LINE DOESN'T WORKS :(
      <?php echo form_open('user/registrar');?> 
      <fieldset> 
       <h1>Registrar</h1> 
       <div class="pure-control-group group gr-2"> 
        <label for="email">Nome:</label> 
        <input type="text" class="pure-input-1" id="name" name="name" placeholder="Nome" value="<?php echo set_value('name');?>"> 
       </div> 
       // ....... everything else 
      <input type="submit" class="pure-button pure-button-primary verde" value="Cadastrar" name="register_submit"> 
      </div> 
     <?php echo form_close();?> 
     </form> 

回答

0

您正在加載視圖頁的驗證之前。這就是validation_errors沒有在registrar.php中顯示的原因。

$這 - >負載>視圖( '註冊商');驗證或功能月底else條件後 添加此。

+0

錯誤是如此簡單的解決!謝謝 :) – Bianca