2013-02-19 81 views
2

我有一個網站在codeigniter開發。 我想驗證一個表單並顯示一些消息。 使用我的代碼,如果我的輸入「name_it」爲空,則看不到任何錯誤。爲什麼? 這是我的控制器:Codeigniter驗證錯誤

public function nation_create() 
    { 
     if($_POST) 
     { 
      //salvo i dati 
      $this->load->library('form_validation'); 
      $this->form_validation->set_error_delimiters('<p class="error">Errore: ', '</p>'); 
      $this->form_validation->set_rules('name_it', 'name_it', 'required'); 
      if ($this->form_validation->run() !== FALSE){ 
       $this->Nation_model->createNation(); 
       redirect('backend/nation/nation_list/'); 
      } 
      else{ 
       $data['errors'] = validation_errors(); 
       $this->load->view('backend/include/header_view_logged'); 
       $this->load->view('backend/nation_create_view',$data); 
       $this->load->view('backend/include/footer_view'); 
      } 
     } 
     else{ 
      $this->load->view('backend/include/header_view_logged'); 
      $this->load->view('backend/nation_create_view');  
      $this->load->view('backend/include/footer_view'); 
     } 
    } 

這是我的看法(我已經削減更多的代碼來讀好)

<form action='' method='POST'> 
    <?php echo validation_errors(); 
    if (isset($errors)) 
     echo $errors; 
    ?> 
    <?php echo form_error('name_it'); ?> 
    <input type="text" name="name_it" /> 
    <span id="errorsDiv_name_it"></span> 
</form> 
+0

你自動加載form_helper? – 2013-02-19 18:03:11

+0

是的,我已經加載form_helper – 2013-02-19 18:03:30

+0

thanx for solution..thanx ... :) – 2014-02-11 05:26:57

回答

0

的問題是在類error與屬性display:none

0

可以使用form_validation()->run()來完成這樣的任務。它檢查POST是否已經發送,並且validation_rules是否返回true。

if($this->form_validation()->run() == false) 
{ 
    //load the view 
    // other stuff you do while POST is not yet sent or if Input from the user returns false 

}else{ 
    // post has been sent and validiation is TRUE 
    // Input is good. . do something 
} 
+0

是一樣的控制 – 2013-02-20 07:36:40

+0

是的,你可以放在同一個控制器\ – tomexsans 2013-02-20 08:13:25

+0

是相同的控制!我已經做了同樣的事情,你只會改變!== FALSE不是問題 – 2013-02-20 08:20:54