CodeIgniter 有许多验证规则,但是否有任何规则用于检查某个字段的值是否存在于数组中(作为验证规则的参数给出)?
例如:
$possible_values = array('beer', 'soda', 'wine', 'water');
$this->form_validation->set_rules('drink', 'Drink', 'required|trim|found_in_array[possible_values]');
CodeIgniter 有许多验证规则,但是否有任何规则用于检查某个字段的值是否存在于数组中(作为验证规则的参数给出)?
例如:
$possible_values = array('beer', 'soda', 'wine', 'water');
$this->form_validation->set_rules('drink', 'Drink', 'required|trim|found_in_array[possible_values]');
不,没有针对该特定情况的验证规则。
但是您可以创建自己的验证规则:看这里(Codeingiter UserGuide)
IE:
$this->form_validation->set_rules('username', 'Username', 'callback_is_inArray[someValues]');
public function is_inArray($str, $values) {
return in_array($str, $values);
}
你可以callback_function_name
这样使用,
$this->form_validation->set_rules('drink', 'Drink', 'callback_customInArray');
public function customInArray($str)
{
$possible_values = array('beer', 'soda', 'wine', 'water');
if(in_array($str, $possible_values){return true;}
return false;
}
在CI 表单验证中了解更多信息
您可以使用in_list
codeigniter 表单验证规则。
$this->form_validation->set_rules('drink', 'Drink', 'in_list[beer,soda,wine,water]');