Codeigniter - 将变量从Array转换为“Array”字符串的表单验证

时间:2010-09-05 00:14:11

标签: php codeigniter validation

我正在构建一个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”函数,但似乎递归函数正常工作。

提前谢谢。

2 个答案:

答案 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/