public function validate() { $validator = new Validator(); $aData = $this->export(); foreach ($this->fields() as $alias => $field) { if (!empty($field['Validation'])) { $val_group = new ValidationRulesGroup(); foreach ($field['Validation'] as $v_type => $v_params) { if ($v_type == 'Required' && $v_params === false) { continue; } if (!is_array($v_params)) { $v_params = array($v_params); } $class_name = 'Validation' . $v_type . 'Rule'; $all_params = array_merge(array($alias, @$field['Title']), $v_params); $val_group->add(new $class_name($all_params)); } $validator->addGroup($val_group); } } if (($res = $validator->forceCheck($aData)) === true) { return true; } else { $this->errors = $res; } return false; }
public function addRules($rules) { $oGroup = new ValidationRulesGroup(); foreach ($rules as $rule) { $oGroup->add($rule); } $this->aValidators[] = $oGroup; return true; }
public function validate(Object $oObject) { $scenario = $oObject->isNew() ? 'Create' : 'Update'; $validator = new Validator(); $aData = $oObject->export(); foreach ($this->fields() as $alias => $field) { if (!empty($field['Validation'])) { $val_group = new ValidationRulesGroup(); foreach ($field['Validation'] as $v_type => $v_params) { if (!empty($v_params['Scenario']) && $v_params['Scenario'] != $scenario) { continue; } else { if (!empty($v_params['Scenario'])) { unset($v_params['Scenario']); } } if ($v_type == 'Required' && $v_params === false) { continue; } if (!is_array($v_params)) { $v_params = array($v_params); } $class_name = 'Validation' . $v_type . 'Rule'; $all_params = array_merge(array($alias, @$field['Title']), $v_params); $val_group->add(new $class_name($all_params)); } $validator->addGroup($val_group); } } if (($res = $validator->forceCheck($aData)) === true) { return true; } else { $oObject->setErrors($res); } return false; }