【发布时间】:2011-10-24 08:05:34
【问题描述】:
我为具有多个复选框的表单设置了表单验证规则:
$this->form_validation->set_rules('groupcheck[]', 'groupcheck', 'required');
如果我在提交时没有选中任何复选框,我的代码永远不会通过验证->由于变量不存在而运行:
if ($this->form_validation->run()):
如果我用 var 检查包围我的验证规则,验证永远不会通过,因为没有其他表单验证规则:
if(isset($_POST['groupcheck'])):
$this->form_validation->set_rules('groupcheck[]', 'groupcheck', 'required');
endif;
如果 var 可能不存在并且它将是唯一的表单变量,我该如何管理复选框验证规则?
问候,本。
【问题讨论】:
-
required是干什么用的?如果您至少需要选中一个复选框,那么您的第一个代码就可以了。如果不需要,只需将其删除... -
@ldiqual - 感谢您的指点。我删除了“必需”,但当没有选中复选框时它仍然无法运行:
code$this->form_validation->set_rules('groupcheck[]', 'groupcheck', ''); if ($this->form_validation->run()): echo "test"; -
我能想到的唯一选择是在其中放置一个隐藏的表单字段,然后对其进行验证。这样,验证规则将始终通过。不过看起来像个黑客。
-
你的 if 语句需要有一个 true 或 false 像这样 "if ($this->form_validation->run() == TRUE) " 可能不能解决你的问题,但这是一个好习惯跨度>
标签: php forms validation codeigniter checkbox