/** * Add validation rules to validation object * * @param Validation Validation object * @return array */ protected function _check(Kohana_Validation $data) { foreach ($this->_fields as $name => $field) { if ($field['type'] === 'email') { $data->rule($name, 'email'); } if (Arr::element($field, 'required')) { $data->rule($name, 'required'); } if (Arr::element($field, 'unique')) { $data->rule($name, array($this, '_is_unique'), array(':validation', $name)); } foreach (array('min_value', 'max_value', 'min_length', 'max_length') as $rule) { if (Arr::element($field, $rule)) { $data->rule($name, $rule, array(':value', $field[$rule])); } } if (isset($field['rules']) && is_array($field['rules'])) { foreach ($field['rules'] as $rule => $val) { $data->rule($name, $rule, array(':value', $val)); } } } return $data; }