我正在构建一个HTML表单,其中包含一组复选框,用于使用以下格式选择多个类别:
<input type="checkbox" name="category[]" />
所以,当我发布print_r($_POST)
来查看我得到的变量和值时:
Array ( [27] => on [28] => on [29] => on )
运行$this->form_validation->run();
后,categories数组将变为“Array”字符串。我相信我已经将它缩小到system / libraries / Form_validation.php文件中的“prep_for_form”函数,但似乎递归函数正常工作。
提前谢谢。
答案 0 :(得分:0)
我明白了。使用$this->form_validation->set_rules()
方法时,在验证规则(第三个参数)中,我将其设置为trim|required
。我想trim函数将实际的数组视为字符串“Array”并修剪单词。我只是从验证规则中删除了“修剪”规则。 e.g。
$this->form_validation->set_rules('category', 'categories', 'trim|required'); // when parsing an array (set of checkboxes, radio buttons, etc.) // - remove the "trim" validation $this->form_validation->set_rules('category', 'categories', 'required');
我希望其他人觉得这很有用。
答案 1 :(得分:0)
该解决方案对我不起作用,但此处列出的修复方法有:http://ellislab.com/forums/viewthread/156497/