merged branch EmmanuelVella/validators (PR #8577)
This PR was merged into the 2.3 branch.
Discussion
----------
Validators
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
This PR avoid comparison validators to be executed if the compared value is null.
Commits
-------
48338fc
Ignore null value in comparison validators
This commit is contained in:
commit
ffe5567955
@ -26,6 +26,10 @@ abstract class AbstractComparisonValidator extends ConstraintValidator
|
||||
*/
|
||||
public function validate($value, Constraint $constraint)
|
||||
{
|
||||
if (null === $value) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$this->compareValues($value, $constraint->value, $constraint)) {
|
||||
$this->context->addViolation($constraint->message, array(
|
||||
'{{ value }}' => $this->valueToString($constraint->value),
|
||||
|
@ -39,7 +39,8 @@ class EqualToValidatorTest extends AbstractComparisonValidatorTestCase
|
||||
array(3, 3),
|
||||
array(3, '3'),
|
||||
array('a', 'a'),
|
||||
array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01'))
|
||||
array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01')),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,7 @@ class GreaterThanOrEqualValidatorTest extends AbstractComparisonValidatorTestCas
|
||||
array(new \DateTime('2000/01/01'), new \DateTime('2000/01/01')),
|
||||
array('a', 'a'),
|
||||
array('z', 'a'),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,8 @@ class GreaterThanValidatorTest extends AbstractComparisonValidatorTestCase
|
||||
return array(
|
||||
array(2, 1),
|
||||
array(new \DateTime('2005/01/01'), new \DateTime('2001/01/01')),
|
||||
array('333', '22')
|
||||
array('333', '22'),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,8 @@ class IdenticalToValidatorTest extends AbstractComparisonValidatorTestCase
|
||||
return array(
|
||||
array(3, 3),
|
||||
array('a', 'a'),
|
||||
array($date, $date)
|
||||
array($date, $date),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,7 @@ class LessThanOrEqualValidatorTest extends AbstractComparisonValidatorTestCase
|
||||
array(new \DateTime('2000-01-01'), new \DateTime('2020-01-01')),
|
||||
array('a', 'a'),
|
||||
array('a', 'z'),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,8 @@ class LessThanValidatorTest extends AbstractComparisonValidatorTestCase
|
||||
return array(
|
||||
array(1, 2),
|
||||
array(new \DateTime('2000-01-01'), new \DateTime('2010-01-01')),
|
||||
array('22', '333')
|
||||
array('22', '333'),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,8 @@ class NotEqualToValidatorTest extends AbstractComparisonValidatorTestCase
|
||||
return array(
|
||||
array(1, 2),
|
||||
array('22', '333'),
|
||||
array(new \DateTime('2001-01-01'), new \DateTime('2000-01-01'))
|
||||
array(new \DateTime('2001-01-01'), new \DateTime('2000-01-01')),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,8 @@ class NotIdenticalToValidatorTest extends AbstractComparisonValidatorTestCase
|
||||
array('2', 2),
|
||||
array('22', '333'),
|
||||
array(new \DateTime('2001-01-01'), new \DateTime('2000-01-01')),
|
||||
array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01'))
|
||||
array(new \DateTime('2000-01-01'), new \DateTime('2000-01-01')),
|
||||
array(null, 1),
|
||||
);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user