数组CodeIgniter验证规则中的值

时间:2014-04-20 23:20:48

标签: php codeigniter validation validationrules

CodeIgniter有许多验证规则,但有没有任何规则可以检查某个字段中是否存在某个字段的值(作为验证规则的参数)?

例如:

$possible_values = array('beer', 'soda', 'wine', 'water');

$this->form_validation->set_rules('drink', 'Drink', 'required|trim|found_in_array[possible_values]');

3 个答案:

答案 0 :(得分:1)

没有针对该特定情况的验证规则。

但您可以创建自己的验证规则:查看here (Codeingiter UserGuide)

即:

$this->form_validation->set_rules('username', 'Username', 'callback_is_inArray[someValues]');

public function is_inArray($str, $values) {
   return in_array($str, $values);
}

答案 1 :(得分:1)

你可以这样使用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 Form Validation

中详细了解相关内容

答案 2 :(得分:0)

您可以使用in_list代码点火器表单验证规则。

$this->form_validation->set_rules('drink', 'Drink', 'in_list[beer,soda,wine,water]');