8000 [DoctrineBridge] Auto-validation must work if no regex are passed · symfony/symfony@5ed7d6c · GitHub
[go: up one dir, main page]

Skip to content
Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5ed7d6c

Browse files
committed
[DoctrineBridge] Auto-validation must work if no regex are passed
1 parent 15f0855 commit 5ed7d6c

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

src/Symfony/Bridge/Doctrine/Tests/Validator/DoctrineLoaderTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ public function testClassValidator(bool $expected, string $classValidatorRegexp
173173
public function regexpProvider()
174174
{
175175
return [
176-
[false, null],
176+
[true, null],
177177
[true, '{^'.preg_quote(DoctrineLoaderEntity::class).'$|^'.preg_quote(Entity::class).'$}'],
178178
[false, '{^'.preg_quote(Entity::class).'$}'],
179179
];

src/Symfony/Bridge/Doctrine/Validator/DoctrineLoader.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function __construct(EntityManagerInterface $entityManager, string $class
4343
public function loadClassMetadata(ClassMetadata $metadata): bool
4444
{
4545
$className = $metadata->getClassName();
46-
if (null === $this->classValidatorRegexp || !preg_match($this->classValidatorRegexp, $className)) {
46+
if (null !== $this->classValidatorRegexp && !preg_match($this->classValidatorRegexp, $className)) {
4747
return false;
4848
}
4949

src/Symfony/Component/Validator/DependencyInjection/AddAutoMappingConfigurationPass.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ public function process(ContainerBuilder $container)
5959
$validatorBuilder = $container->getDefinition($this->validatorBuilderService);
6060
foreach ($container->findTaggedServiceIds($this->tag) as $id => $tags) {
6161
$regexp = $this->getRegexp(array_merge($globalNamespaces, $servicesToNamespaces[$id] ?? []));
62+
if (null === $regexp) {
63+
$container->removeDefinition($id);
64+
continue;
65+
}
6266

6367
$container->getDefinition($id)->setArgument('$classValidatorRegexp', $regexp);
6468
$validatorBuilder->addMethodCall('addLoader', [new Reference($id)]);

src/Symfony/Component/Validator/Tests/DependencyInjection/AddAutoMappingConfigurationPassTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,6 @@ public function testDoNotMapAllClassesWhenConfigIsEmpty()
8181

8282
(new AddAutoMappingConfigurationPass())->process($container);
8383

84-
$this->assertNull($container->getDefinition('loader')->getArgument('$classValidatorRegexp'));
84+
$this->assertFalse($container->hasDefinition('loader'));
8585
}
8686
}

0 commit comments

Comments
 (0)
0