【发布时间】:2017-01-20 11:32:53
【问题描述】:
我正在验证 codeigniter 中的表单。如果用户未正确填写表单,则页面不应重定向到任何其他页面,而是在每个输入字段上显示错误。这是我的表单代码:
<?php echo $this->session->flashdata('errors');?>
<form action="<?php echo base_url() ?>detail/travel" method="post">
<input type="text" name="departure">
<input type="text" name="destination">
<input type="text" name="name">
<input type="text" name="cell">
</form>
这是我的方法代码:
function search_travel(){
if($_POST){
$config = array(
array(
'field'=>'departure',
'label'=>'departure',
'rules'=>'trim|required|alpha'
),
array(
'field'=>'destination',
'label'=>'destination',
'rules'=>'trim|required|alpha'
),
array(
'field'=>'name',
'label'=>'name',
'rules'=>'trim|required|alpha'
),
array(
'field'=>'cell',
'label'=>'cell no',
'rules'=>'trim|required'
)
);
$this->load->library('form_validation');
$this->load->helper(array('form', 'url'));
$this->form_validation->set_rules($config);
if($this->form_validation->run() == FALSE){
$this->session->set_flashdata('errors', validation_errors());
redirect(base_url());
}
}
}
问题是通过使用 set_flashdata 我不能使用 form_error 函数和 set_value 函数。这个问题还有其他解决方法吗???
【问题讨论】:
-
你有没有试过任何答案,如果他们工作不接受他们
-
您不需要设置闪烁消息来获取验证错误。 Codeigniter 自己做这件事。您必须在验证失败后加载表单。
标签: php jquery forms codeigniter codeigniter-3