public function addRule($validator, $arguments = array()) { if (!$validator instanceof Validatable) { $this->appendRule(Validator::buildRule($validator, $arguments)); } else { $this->appendRule($validator); } return $this; }
/** * Validate a field's value with a given $rule * * @param $value mixed Value to validate * @param $rule mixed Rule(s) to use for validation * @return bool */ public static function validateField($value, $rule) { // only validate non-empty fields if ($value == "") { return true; } // validate $validator = new Validator(); // create rules if (!is_array($rule)) { $validator->addRule(Validator::buildRule($rule)); } else { foreach ($rule as $rule_key => $params) { $params = Helper::ensureArray($params); $validator->addRule(Validator::buildRule($rule_key, $params)); } } return $validator->validate($value); }
/** * Smart method to process fields, regardless of data type * * @param string $field Field to validate * @param mixed $rule Rule (or rules) to chain and validate with * @return bool */ private function handleValidationRule($field, $rule) { if ($field == '') { return true; } # only validate non-empty fields. $spawn = new v(); if (!is_array($rule)) { $spawn->addRule(v::buildRule($rule)); } else { foreach ($rule as $rule_key => $params) { $params = !is_array($params) ? (array) $params : $params; # make sure params are an array $spawn->addRule(v::buildRule($rule_key, $params)); } } return $spawn->validate($field); }