Skip to content

Commit 8a2f9f7

Browse files
committed
detect wrong e-mail validation modes
1 parent f241871 commit 8a2f9f7

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

Constraints/Email.php

+4
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ public function __construct(
6262
throw new InvalidArgumentException('The "mode" parameter value is not valid.');
6363
}
6464

65+
if (null !== $mode && !\in_array($mode, self::$validationModes, true)) {
66+
throw new InvalidArgumentException('The "mode" parameter value is not valid.');
67+
}
68+
6569
parent::__construct($options, $groups, $payload);
6670

6771
$this->message = $message ?? $this->message;

Tests/Constraints/EmailTest.php

+7
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ public function testUnknownModesTriggerException()
3333
new Email(['mode' => 'Unknown Mode']);
3434
}
3535

36+
public function testUnknownModeArgumentsTriggerException()
37+
{
38+
$this->expectException(InvalidArgumentException::class);
39+
$this->expectExceptionMessage('The "mode" parameter value is not valid.');
40+
new Email(null, null, 'Unknown Mode');
41+
}
42+
3643
public function testNormalizerCanBeSet()
3744
{
3845
$email = new Email(['normalizer' => 'trim']);

0 commit comments

Comments
 (0)