我有一个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>
我想使用CI表单验证来检查是否至少选中了一个复选框(可以选择多个复选框)。我在使用表单验证libaray解决问题时遇到了问题。我尝试了一个回调,但这只传递了一个复选框的值。什么是验证的最佳方式?
表单上还有其他字段,因此我需要在验证时保持复选框的状态。
答案 0 :(得分: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>
然后检查复选框数组是否已设置。
if ( isset( $_GET['checkboxes'] ) ) {}
如果取消选中,浏览器不会为复选框发送数据。