Ignore null value in comparison validators

This commit is contained in:
Emmanuel Vella 2013-07-25 14:05:03 +02:00
parent 2e2a36ca24
commit 48338fcf10
9 changed files with 18 additions and 6 deletions

View File

@ -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),

View File

@ -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),
);
}

View File

@ -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),
);
}

View File

@ -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),
);
}

View File

@ -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),
);
}

View File

@ -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),
);
}

View File

@ -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),
);
}

View File

@ -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),
);
}

View File

@ -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),
);
}