我在codeigniter中开发了一个站点。 我想验证表单并显示一些消息。 使用我的代码,如果输入“name_it”为空,我看不到任何错误。为什么? 这是我的控制者:
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 :(得分:0)
试试这个:
改变:
if ($_POST)
有:
if ($this-input->post())
信息:http://ellislab.com/codeigniter/user-guide/libraries/input.html
答案 1 :(得分: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
}
答案 2 :(得分:0)
问题发生在类error
中,属性为display:none