/** * Validate one named rule * * @param string $key Give the message key * @param array $params Give the rule configuration * * @return boolean The rule result */ protected function validateRule(RuleItem $rule) { $result = true; $filters = $rule->getFilters(); foreach ($filters as $item) { $values = explode(':', $item); $method = 'is' . ucfirst(array_shift($values)); $rule->setResult(call_user_func_array(array($this, $method), array($rule->getValue(), $values))); $this->msgStorage->set($rule->getKey(), $rule->getMessage()); $result = $result & $rule->getResult(); } return $result; }