Example #1
0
 /**
  * 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;
 }