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