【发布时间】:2010-12-03 08:17:53
【问题描述】:
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
}
【问题讨论】:
-
您在那里写的大致内容对我来说很好用
<enter>或单击。您可能需要发布一个肯定会重现问题的小型工作示例(仅够控制器和视图)。实际上,您发布的代码根本不起作用,据我所见(您没有回显 form_open() 和 form_close() 的结果,因此您甚至不会在 HTML 中获得表单元素输出...) -
Matt:我做了一个小的工作示例,它可以工作——这很奇怪。
-
这里:stud.fit.vutbr.cz/~xmejzl03/f/ci-test-submit.tar.bz2(需要编辑这些东西才能在您的服务器上运行它:.htaccess 中的 RewriteBase,system/application/config/config.php 中的 $config['base_url'])
标签: php forms codeigniter validation