protected function setGroup($group) { $this->group = $group; switch ($this->getApiVersion()) { case Validation::API_VERSION_2_4: $this->context = $this->createContext(); $this->validator->initialize($this->context); break; case Validation::API_VERSION_2_5: case Validation::API_VERSION_2_5_BC: $this->context->setGroup($group); break; } }
/** * Validates a node's value against all constraints in the given group. * * @param mixed $value The validated value * @param string $cacheKey The key for caching the * validated value * @param MetadataInterface $metadata The metadata of the value * @param string $group The group to validate * @param ExecutionContextInterface $context The execution context */ private function validateInGroup($value, $cacheKey, MetadataInterface $metadata, $group, ExecutionContextInterface $context) { $context->setGroup($group); foreach ($metadata->findConstraints($group) as $constraint) { // Prevent duplicate validation of constraints, in the case // that constraints belong to multiple validated groups if (null !== $cacheKey) { $constraintHash = spl_object_hash($constraint); if ($context->isConstraintValidated($cacheKey, $constraintHash)) { continue; } $context->markConstraintAsValidated($cacheKey, $constraintHash); } $context->setConstraint($constraint); $validator = $this->validatorFactory->getInstance($constraint); $validator->initialize($context); $validator->validate($value, $constraint); } }
protected function setGroup($group) { $this->group = $group; $this->context->setGroup($group); }