Skip validation when email is an empty object

This commit is contained in:
Jeroen Thora 2020-05-03 21:30:24 +02:00
parent bfdbb244fe
commit de5d68ef2a
No known key found for this signature in database
GPG Key ID: 6875186A15599DA9
2 changed files with 18 additions and 0 deletions

View File

@ -51,6 +51,9 @@ class EmailValidator extends ConstraintValidator
}
$value = (string) $value;
if ('' === $value) {
return;
}
if (null === $constraint->strict) {
$constraint->strict = $this->isStrict;

View File

@ -40,6 +40,13 @@ class EmailValidatorTest extends ConstraintValidatorTestCase
$this->assertNoViolation();
}
public function testObjectEmptyStringIsValid()
{
$this->validator->validate(new EmptyEmailObject(), new Email());
$this->assertNoViolation();
}
public function testExpectsStringCompatibleType()
{
$this->expectException('Symfony\Component\Validator\Exception\UnexpectedTypeException');
@ -256,3 +263,11 @@ class EmailValidatorTest extends ConstraintValidatorTestCase
];
}
}
class EmptyEmailObject
{
public function __toString()
{
return '';
}
}