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

Skip to content

Commit c05e655

Browse files
[FrameworkBundle] Fix auto-discovering validator constraints
1 parent 3b9fa3c commit c05e655

File tree

3 files changed

+17
-18
lines changed

3 files changed

+17
-18
lines changed

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

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,14 @@
6565
abstract_arg('Constraint validators locator'),
6666
])
6767

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

7477
->set('validator.expression_language', ExpressionLanguage::class)
7578
->args([service('cache.validator_expression_language')->nullOnInvalid()])
@@ -82,25 +85,19 @@
8285
->args([
8386
abstract_arg('Default mode'),
8487
])
85-
->tag('validator.constraint_validator', [
86-
'alias' => EmailValidator::class,
87-
])
88+
->tag('validator.constraint_validator')
8889

8990
->set('validator.not_compromised_password', NotCompromisedPasswordValidator::class)
9091
->args([
9192
service('http_client')->nullOnInvalid(),
9293
param('kernel.charset'),
9394
false,
9495
])
95-
->tag('validator.constraint_validator', [
96-
'alias' => NotCompromisedPasswordValidator::class,
97-
])
96+
->tag('validator.constraint_validator')
9897

9998
->set('validator.when', WhenValidator::class)
10099
->args([service('validator.expression_language')->nullOnInvalid()])
101-
->tag('validator.constraint_validator', [
102-
'alias' => WhenValidator::class,
103-
])
100+
->tag('validator.constraint_validator')
104101

105102
->set('validator.property_info_loader', PropertyInfoLoader::class)
106103
->args([

src/Symfony/Bundle/FrameworkBundle/composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"ext-xml": "*",
2222
"symfony/cache": "^5.4|^6.0",
2323
"symfony/config": "^6.1",
24-
"symfony/dependency-injection": "^6.2",
24+
"symfony/dependency-injection": "^6.2.8",
2525
"symfony/deprecation-contracts": "^2.1|^3",
2626
"symfony/error-handler": "^6.1",
2727
"symfony/event-dispatcher": "^5.4|^6.0",
@@ -58,7 +58,7 @@
5858
"symfony/serializer": "^6.1",
5959
"symfony/stopwatch": "^5.4|^6.0",
6060
"symfony/string": "^5.4|^6.0",
61-
"symfony/translation": "^5.4|^6.0",
61+
"symfony/translation": "^6.2.8",
6262
"symfony/twig-bundle": "^5.4|^6.0",
6363
"symfony/validator": "^5.4|^6.0",
6464
"symfony/workflow": "^5.4|^6.0",
@@ -91,7 +91,7 @@
9191
"symfony/security-csrf": "<5.4",
9292
"symfony/security-core": "<5.4",
9393
"symfony/stopwatch": "<5.4",
94-
"symfony/translation": "<5.4",
94+
"symfony/translation": "<6.2.8",
9595
"symfony/twig-bridge": "<5.4",
9696
"symfony/twig-bundle": "<5.4",
9797
"symfony/validator": "<5.4",

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,12 @@ public function process(ContainerBuilder $container)
5353
$constraintVisitorDefinition = $container->getDefinition('translation.extractor.visitor.constraint');
5454
$constraintClassNames = [];
5555

56-
foreach ($container->findTaggedServiceIds('validator.constraint_validator', true) as $id => $attributes) {
57-
$serviceDefinition = $container->getDefinition($id);
56+
foreach ($container->getDefinitions() as $definition) {
57+
if (!$definition->hasTag('validator.constraint_validator')) {
58+
continue;
59+
}
5860
// Resolve constraint validator FQCN even if defined as %foo.validator.class% parameter
59-
$className = $container->getParameterBag()->resolveValue($serviceDefinition->getClass());
61+
$className = $container->getParameterBag()->resolveValue($definition->getClass());
6062
// Extraction of the constraint class name from the Constraint Validator FQCN
6163
$constraintClassNames[] = str_replace('Validator', '', substr(strrchr($className, '\\'), 1));
6264
}

0 commit comments

Comments
 (0)
0