我在$_POST
变量中有一个数组,我想验证它:
$this->validator->set_rules('questions[]', 'questions', 'required|min_length[10]');
在这种情况下,我希望数组questions
的长度至少为10,问题是对于长度<1的数组,这不起作用。 10验证器检测到没有错误,这是我的转储帖子示例:
array(1) { ["questions"]=> array(0) {} }
我跑的时候:
if($this->validator->run() == false){...}else{...}
方法返回true,代码将输入else
。
有人知道我该怎么办?
答案 0 :(得分:0)
你可以编写一个回调函数,我举一个例子。 假设您要将数组限制为最少10个值。
$this->validator->set_rules('questions[]', 'questions', required|callback_checkLength');
并编写如下函数:
function checkLength(){
if(count($this->input->post("questions[]") < 10) { return false };
else { return true; }
}
希望这会对你有所帮助。