[Validator] Add object handling of invalid constraints in Composite

This commit is contained in:
Claudio Zizza 2017-01-08 21:17:12 +01:00 committed by Fabien Potencier
parent f9b64a206b
commit 4bd2c22871
2 changed files with 15 additions and 0 deletions

View File

@ -67,6 +67,10 @@ abstract class Composite extends Constraint
foreach ($nestedConstraints as $constraint) {
if (!$constraint instanceof Constraint) {
if (is_object($constraint)) {
$constraint = get_class($constraint);
}
throw new ConstraintDefinitionException(sprintf('The value %s is not an instance of Constraint in constraint %s', $constraint, get_class($this)));
}

View File

@ -125,6 +125,17 @@ class CompositeTest extends TestCase
));
}
/**
* @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
*/
public function testFailIfNoConstraintObject()
{
new ConcreteComposite(array(
new NotNull(array('groups' => 'Default')),
new \ArrayObject(),
));
}
/**
* @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException
*/