2013-02-19 84 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