使用codeigniter表单验证验证整个复选框数组一次?

时间:2012-08-14 14:49:27

标签: php codeigniter validation

我正在使用CodeIgniter的Form Validation类来验证表单。在这种形式中,我有大约200个国家的复选框。我想验证一系列国家都是有效的。我这样做是通过检查数组值是否与我的数据库中的实际国家ID相对应。我遇到的问题是codeIgniter的表单验证验证数组中200个国家/地区中的每个国家/地区对数据库造成200个查询,大约需要10秒才能完成。有没有让CodeIgniter验证整个数组一次?

1 个答案:

答案 0 :(得分:2)

您可以绕过CodeIgniter的表单验证,并将数据库中的所有国家/地区加载到一个数组中,将表单值加载到另一个数组中。然后,您可以使用array_diff查看表单值中是否存在未显示在数据库中的值:

$should_be_empty = array_diff($form_array, $database_array);
如果$should_be_empty中没有未出现在数据库数组中的值,则

$form_array将为空。