From 369b051e28f12e29212da8ea77ddb8bd6ed0f118 Mon Sep 17 00:00:00 2001 From: Antoine Lamirault Date: Thu, 17 Nov 2022 23:08:19 +0100 Subject: [PATCH] [Validator] Add pattern in Regex constraint violations --- src/Symfony/Component/Validator/CHANGELOG.md | 1 + src/Symfony/Component/Validator/Constraints/RegexValidator.php | 1 + .../Validator/Tests/Constraints/RegexValidatorTest.php | 2 ++ 3 files changed, 4 insertions(+) diff --git a/src/Symfony/Component/Validator/CHANGELOG.md b/src/Symfony/Component/Validator/CHANGELOG.md index 88b152ed8dc31..ca83f3af0a3f1 100644 --- a/src/Symfony/Component/Validator/CHANGELOG.md +++ b/src/Symfony/Component/Validator/CHANGELOG.md @@ -5,6 +5,7 @@ CHANGELOG --- * Add `Uuid::TIME_BASED_VERSIONS` to match that a UUID being validated embeds a timestamp + * Add the `pattern` parameter in violations of the `Regex` constraint 6.2 --- diff --git a/src/Symfony/Component/Validator/Constraints/RegexValidator.php b/src/Symfony/Component/Validator/Constraints/RegexValidator.php index 177fcb69cd107..b31431bedd20d 100644 --- a/src/Symfony/Component/Validator/Constraints/RegexValidator.php +++ b/src/Symfony/Component/Validator/Constraints/RegexValidator.php @@ -47,6 +47,7 @@ public function validate(mixed $value, Constraint $constraint) if ($constraint->match xor preg_match($constraint->pattern, $value)) { $this->context->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) + ->setParameter('{{ pattern }}', $constraint->pattern) ->setCode(Regex::REGEX_FAILED_ERROR) ->addViolation(); } diff --git a/src/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php index 166de5aa95827..267edf0c1bcdd 100644 --- a/src/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php +++ b/src/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php @@ -118,6 +118,7 @@ public function testInvalidValues($value) $this->buildViolation('myMessage') ->setParameter('{{ value }}', '"'.$value.'"') + ->setParameter('{{ pattern }}', '/^[0-9]+$/') ->setCode(Regex::REGEX_FAILED_ERROR) ->assertRaised(); } @@ -133,6 +134,7 @@ public function testInvalidValuesNamed($value) $this->buildViolation('myMessage') ->setParameter('{{ value }}', '"'.$value.'"') + ->setParameter('{{ pattern }}', '/^[0-9]+$/') ->setCode(Regex::REGEX_FAILED_ERROR) ->assertRaised(); }