/** * @param Item $item * @param string $ruleName * @param string $options * * @throws RuleNotFoundException when no rule is found. */ private function processRule(Item $item, $ruleName, $options) { if ($item->stopRules()) { return; } $ruleName = '\\NickStuer\\EasyValidator\\Rules\\' . $ruleName; if (!class_exists($ruleName)) { throw new RuleNotFoundException(); } /** * @var \NickStuer\EasyValidator\RuleInterface $rule */ $rule = new $ruleName(); if (!$rule->validate($item->getItemValue(), $options)) { $this->setValidationStatus(false); $item->setValidationStatus(false); $message = $rule->getMessage(); $message = str_replace('{label}', $item->getItemLabel(), $message); $message = str_replace('{option1}', $options, $message); $item->setMessage($message); } $item->incrementRuleCount(); }