我有经典的CI控制器和索引方法,在我试图验证一个非常简单的表单条目的方法中。
public function index() {
$this->form_validation->set_rules('status', 'Status', 'trim');
if($this->form_validation->run()) {
echo "true";
$quote = array(
'status' => $this->input->post('status'),
'text' => $this->input->post('text'),
'author' => $this->input->post('author'),
);
$this->quote_model->add($quote);
set_flash_message('Quote has been added.', 'success');
redirect('quote');
}
else {
echo "false";
}
//Some other stuff
出于某种原因,每次我提交表单方法时,$ this-> form_validation-> run()都会返回FALSE,因此代码最终会回显“false”。但报价已添加到我的数据库中,并且“已添加报价”。出现flash消息,这意味着条件的TRUE部分以某种方式被执行。
有没有人遇到过这个问题?我不知道会发生什么。
答案 0 :(得分:0)
public function index() {
if ($this->input->post()) {
$this->form_validation->set_rules('status', 'Status', 'trim');
if ($this->form_validation->run()) {
echo "true";
$quote = array(
'status' => $this->input->post('status'),
'text' => $this->input->post('text'),
'author' => $this->input->post('author'),
);
$this->quote_model->add($quote);
set_flash_message('Quote has been added.', 'success');
redirect('quote');
} else {
echo "false";
}
} else {
$this->load->view("quote", $data);
}
}