10000 [FrameworkBundle] Fix auto-discovering validator constraints · symfony/symfony@bb0c3a0 · GitHub
[go: up one dir, main page]

Skip to content

Commit bb0c3a0

Browse files
[FrameworkBundle] Fix auto-discovering validator constraints
1 parent fdbd4c1 commit bb0c3a0

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

src/Symfony/Bundle/FrameworkBundle/Resources/config/validator.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@
6666
abstract_arg('Constraint validators locator'),
6767
])
6868

69+
->load('Symfony\Component\Validator\Constraints\\', \dirname((new \ReflectionClass(WhenValidator::class))->getFileName()).'/*Validator.php')
70+
->abstract()
71+
->tag('container.excluded')
72+
->tag('validator.constraint_validator')
73+
6974
->set('validator.expression', ExpressionValidator::class)
7075
->args([service('validator.expression_language')->nullOnInvalid()])
7176
->tag('validator.constraint_validator', [

src/Symfony/Bundle/FrameworkBundle/composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"symfony/serializer": "^6.1",
6161
"symfony/stopwatch": "^5.4|^6.0",
6262
"symfony/string": "^5.4|^6.0",
63-
"symfony/translation": "^5.4|^6.0",
63+
"symfony/translation": "^6.3",
6464
"symfony/twig-bundle": "^5.4|^6.0",
6565
"symfony/validator": "^6.3",
6666
"symfony/workflow": "^5.4|^6.0",
@@ -94,10 +94,10 @@
9494
"symfony/security-csrf": "<5.4",
9595
"symfony/security-core": "<5.4",
9696
"symfony/stopwatch": "<5.4",
97-
"symfony/translation": "<5.4",
97+
"symfony/translation": "<6.3",
9898
"symfony/twig-bridge": "<5.4",
9999
"symfony/twig-bundle": "<5.4",
100-
"symfony/validator": "<5.4",
100+
"symfony/validator": "<6.3",
101101
"symfony/web-profiler-bundle": "<5.4",
102102
"symfony/workflow": "<5.4"
103103
},

src/Symfony/Component/Translation/DependencyInjection/TranslatorPass.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,13 @@ public function process(ContainerBuilder $container)
5656
$constraintVisitorDefinition = $container->getDefinition('translation.extractor.visitor.constraint');
5757
$constraintClassNames = [];
5858

59-
foreach ($container->findTaggedServiceIds('validator.constraint_validator', true) as $id => $attributes) {
59+
foreach ($container->findTaggedServiceIds('validator.constraint_validator') as $id => $attributes) {
6060
$serviceDefinition = $container->getDefinition($id);
61+
62+
if ($serviceDefinition->isAbstract()) {
63+
continue;
64+
}
65+
6166
// Resolve constraint validator FQCN even if defined as %foo.validator.class% parameter
6267
$className = $container->getParameterBag()->resolveValue($serviceDefinition->getClass());
6368
// Extraction of the constraint class name from the Constraint Validator FQCN

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,13 @@ public function process(ContainerBuilder $container)
3232
}
3333

3434
$validators = [];
35-
foreach ($container->findTaggedServiceIds('validator.constraint_validator', true) as $id => $attributes) {
35+
foreach ($container->findTaggedServiceIds('validator.constraint_validator') as $id => $attributes) {
3636
$definition = $container->getDefinition($id);
3737

38+
if ($definition->isAbstract()) {
39+
continue;
40+
}
41+
3842
if (isset($attributes[0]['alias'])) {
3943
$validators[$attributes[0]['alias']] = new Reference($id);
4044
}

0 commit comments

Comments
 (0)
0