验证使用codeigniter验证类选择至少一个复选框

Ale*_*lex 0 php codeigniter

我有一个codeigniter表单,其中包含两个复选框:

<input type="checkbox" checked="checked" id="box1" name="box1" /> <label for="box1">Box One</label> 
<input type="checkbox" checked="checked" id="box2" name="box2" /> <label for="box2">Box Two</label>
Run Code Online (Sandbox Code Playgroud)

我想使用CI表单验证来检查是否至少选中了一个复选框(可以选择多个复选框).我在使用表单验证libaray解决问题时遇到了问题.我尝试了一个回调,但这只传递了一个复选框的值.什么是最好的验证方式?

表单上还有其他字段,因此我需要在验证时保持复选框的状态.

Gal*_*len 6

最简单的方法是将复选框放入数组中

<input type="checkbox" checked="checked" id="box1" name="checkboxes[]" /> <label for="box1">Box One</label> 
<input type="checkbox" checked="checked" id="box2" name="checkboxes[]" /> <label for="box2">Box Two</label>
Run Code Online (Sandbox Code Playgroud)

然后检查复选框数组是否已设置.

if ( isset( $_GET['checkboxes'] ) ) {}
Run Code Online (Sandbox Code Playgroud)

如果取消选中,浏览器不会为复选框发送数据.