我有一个名为checkall的可选复选框
<input name="checkall" type="checkbox" value="ON" <?php echo set_checkbox('checkall', 'ON'); ?> />
我确定表单正在提交
如果我给它一个验证规则$this->form_validation->set_rules('checkall', 'Checkall', 'required');
它可行,但没有规则没有任何成功!
答案 0 :(得分:4)
我认为你在谈论没有验证规则的持久价值。如果我没记错的话,这仍然是CI 2.x中的一个问题,并且仍然需要从2010年1月开始jbreitwiser的补丁:
http://codeigniter.com/forums/viewthread/96617/P15/#689642
如果这仍然是CI 2.x中的一个问题,这是完全荒谬的,我完全同意。但是那个补丁将解决你的问题。
答案 1 :(得分:0)
如果我理解正确,您的复选框未提交表单? 如果是这种情况,我在这个帖子HERE
上玩这个问题很开心PHP希望您通过验证POST数组中是否存在相应的元素来检查是否设置了复选框。如果选中该复选框,则POST数组中将存在同名的元素(该元素将具有NULL值),如果未选中该复选框,则POST数组中将没有匹配元素。
代码看起来像这样:
您的输入元素保持不变 -
<input name="checkall" type="checkbox" value="ON" <?php echo set_checkbox('checkall', 'ON'); ?> />
回发处理程序页面获得了一种验证复选框的新方法 -
if(isset($_POST["checkall"])
{
$checkall = TRUE;
}
else
{
$checkall = FALSE;
}
希望我帮助过,迟到了,你的问题在细节上很少。
此致