107107use Symfony \Component \Translation \Command \XliffLintCommand as BaseXliffLintCommand ;
108108use Symfony \Component \Translation \Translator ;
109109use Symfony \Component \Validator \ConstraintValidatorInterface ;
110+ use Symfony \Component \Validator \Mapping \Loader \PropertyInfoLoader ;
110111use Symfony \Component \Validator \ObjectInitializerInterface ;
111112use Symfony \Component \WebLink \HttpHeaderSerializer ;
112113use Symfony \Component \Workflow ;
@@ -280,7 +281,8 @@ public function load(array $configs, ContainerBuilder $container)
280281 $ container ->removeDefinition ('console.command.messenger_debug ' );
281282 }
282283
283- $ this ->registerValidationConfiguration ($ config ['validation ' ], $ container , $ loader );
284+ $ propertyInfoEnabled = $ this ->isConfigEnabled ($ container , $ config ['property_info ' ]);
285+ $ this ->registerValidationConfiguration ($ config ['validation ' ], $ container , $ loader , $ propertyInfoEnabled );
284286 $ this ->registerEsiConfiguration ($ config ['esi ' ], $ container , $ loader );
285287 $ this ->registerSsiConfiguration ($ config ['ssi ' ], $ container , $ loader );
286288 $ this ->registerFragmentsConfiguration ($ config ['fragments ' ], $ container , $ loader );
@@ -301,7 +303,7 @@ public function load(array $configs, ContainerBuilder $container)
301303 $ this ->registerSerializerConfiguration ($ config ['serializer ' ], $ container , $ loader );
302304 }
303305
304- if ($ this -> isConfigEnabled ( $ container , $ config [ ' property_info ' ]) ) {
306+ if ($ propertyInfoEnabled ) {
305307 $ this ->registerPropertyInfoConfiguration ($ container , $ loader );
306308 }
307309
@@ -1152,7 +1154,7 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
11521154 }
11531155 }
11541156
1155- private function registerValidationConfiguration (array $ config , ContainerBuilder $ container , XmlFileLoader $ loader )
1157+ private function registerValidationConfiguration (array $ config , ContainerBuilder $ container , XmlFileLoader $ loader, bool $ propertyInfoEnabled )
11561158 {
11571159 if (!$ this ->validatorConfigEnabled = $ this ->isConfigEnabled ($ container , $ config )) {
11581160 return ;
@@ -1203,6 +1205,11 @@ private function registerValidationConfiguration(array $config, ContainerBuilder
12031205 if (!$ container ->getParameter ('kernel.debug ' )) {
12041206 $ validatorBuilder ->addMethodCall ('setMetadataCache ' , [new Reference ('validator.mapping.cache.symfony ' )]);
12051207 }
1208+
1209+ $ container ->setParameter ('validator.auto_mapping ' , $ config ['auto_mapping ' ]);
1210+ if (!$ propertyInfoEnabled || !$ config ['auto_mapping ' ] || !class_exists (PropertyInfoLoader::class)) {
1211+ $ container ->removeDefinition ('validator.property_info_loader ' );
1212+ }
12061213 }
12071214
12081215 private function registerValidatorMapping (ContainerBuilder $ container , array $ config , array &$ files )
0 commit comments