Skip to content

Commit 8a16c9d

Browse files
authored
pattern must be compliant with ECMA 262 regex (#4027)
1 parent 8a00d6e commit 8a16c9d

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

src/Bridge/Symfony/Validator/Metadata/Property/Restriction/PropertySchemaRegexRestriction.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class PropertySchemaRegexRestriction implements PropertySchemaRestrictionMetadat
2929
*/
3030
public function create(Constraint $constraint, PropertyMetadata $propertyMetadata): array
3131
{
32-
return isset($constraint->pattern) ? ['pattern' => $constraint->pattern] : [];
32+
return $constraint instanceof Regex && $constraint->getHtmlPattern() ? ['pattern' => $constraint->getHtmlPattern()] : [];
3333
}
3434

3535
/**

tests/Bridge/Symfony/Validator/Metadata/Property/ValidatorPropertyMetadataFactoryTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ public function testCreateWithPropertyRegexRestriction(): void
300300
$schema = $validationPropertyMetadataFactory->create(DummyValidatedEntity::class, 'dummy')->getSchema();
301301
$this->assertNotNull($schema);
302302
$this->assertArrayHasKey('pattern', $schema);
303-
$this->assertEquals('^dummy$', $schema['pattern']);
303+
$this->assertEquals('dummy', $schema['pattern']);
304304
}
305305

306306
public function testCreateWithPropertyFormatRestriction(): void

tests/Fixtures/DummyValidatedEntity.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class DummyValidatedEntity
3232
*
3333
* @Assert\NotBlank
3434
* @Assert\Length(max="4", min="10")
35-
* @Assert\Regex(pattern="^dummy$")
35+
* @Assert\Regex(pattern="/^dummy$/")
3636
*/
3737
public $dummy;
3838

0 commit comments

Comments
 (0)