/** * Initialize validation on the given object using the given metadata * instance and validation group. * * @param ClassMetadata $metadata * @param object $object The object to validate * @param string $group The validator group to use for validation * @param string $propertyPath */ public function walkObject(ClassMetadata $metadata, $object, $group, $propertyPath) { foreach ($this->validatorInitializers as $initializer) { if (!$initializer instanceof ObjectInitializerInterface) { throw new \LogicException('Validator initializers must implement ObjectInitializerInterface.'); } $initializer->initialize($object); } if ($group === Constraint::DEFAULT_GROUP && ($metadata->hasGroupSequence() || $metadata->isGroupSequenceProvider())) { if ($metadata->hasGroupSequence()) { $groups = $metadata->getGroupSequence(); } else { $groups = $object->getGroupSequence(); } foreach ($groups as $group) { $this->walkObjectForGroup($metadata, $object, $group, $propertyPath, Constraint::DEFAULT_GROUP); if (count($this->getViolations()) > 0) { break; } } } else { $this->walkObjectForGroup($metadata, $object, $group, $propertyPath); } }
public function testGroupSequenceProvider() { $metadata = new ClassMetadata(self::PROVIDERCLASS); $metadata->setGroupSequenceProvider(true); $this->assertTrue($metadata->isGroupSequenceProvider()); }