我对CodeIgniter有这个问题:
- 当我单击表单中的提交按钮时,表单将被正确提交并验证
- 当我没有点击提交按钮时,只需点击<enter>
,表单验证总是失败
有解决方案吗这是CI表单验证中的缺陷还是我错过了什么?
我在那里有什么代码:
--- the form view ---
form_open("/");
...some inputs...
echo form_submit('submit', 'Přihlásit');
form_close();
...
--- the controller ---
$this->CI->load->helper('form');
$this->CI->load->library('form_validation');
$this->CI->form_validation->set_rules('id_uziv', 'ID', 'required');
$this->CI->form_validation->set_rules('heslo', 'Heslo', 'required');
//... see, no rules have anyhting to do with the submit button
if ($this->CI->form_validation->run() == FALSE) {
// validation OK
}
else {
// validation failed
}
答案 0 :(得分:1)
你没有回应form_open('/')
您的表单元素不会包含在<form>
元素中,因此在您提交时,不会将任何帖子数据发送到服务器,从而导致您的验证失败。
答案 1 :(得分:1)
我通过为提交按钮添加一个空的验证规则来解决它,如下所示:
$this->CI->form_validation->set_rules('submit_button', 'Submit', '');
现在它有效。我真的不知道造成这个问题的原因。