Exemple #1
0
 /**
  * Validates the values in the $values array and returns a ValidationResult.
  *
  * @param array $values
  * @param string $context
  * @return ValidationResult
  */
 public function validate(array $values, $context = self::DEFAULT_CONTEXT)
 {
     $isValid = true;
     $messageStack = $this->buildMessageStack($context);
     $this->output = new Container();
     $input = new Container($values);
     foreach ($this->chains[$context] as $chain) {
         /** @var Chain $chain */
         $isValid = $chain->validate($messageStack, $input, $this->output) && $isValid;
     }
     return new ValidationResult($isValid, $this->messageStack->getMessages(), $this->output->getArrayCopy());
 }