diff --git a/Classes/Package.php b/Classes/Package.php index d687e92..7f7f1b8 100644 --- a/Classes/Package.php +++ b/Classes/Package.php @@ -1,4 +1,5 @@ getSignalSlotDispatcher(); - $dispatcher->connect(ConfigurationManager::class, 'configurationManagerReady', + $dispatcher->connect( + ConfigurationManager::class, + 'configurationManagerReady', function (ConfigurationManager $configurationManager) { $configurationManager->registerConfigurationType( static::CONFIGURATION_TYPE_VALIDATION, diff --git a/Classes/Validation/Validator/SettingsValidator.php b/Classes/Validation/Validator/SettingsValidator.php index 896aa84..5e005ef 100644 --- a/Classes/Validation/Validator/SettingsValidator.php +++ b/Classes/Validation/Validator/SettingsValidator.php @@ -1,4 +1,5 @@ options['validationGroups'])) - ) { + if (isset($validatorConfig['options']['validationGroups']) && empty(array_intersect($validatorConfig['options']['validationGroups'], $this->options['validationGroups']))) { return false; } @@ -183,9 +182,7 @@ class SettingsValidator extends AbstractValidator */ protected function handleValidationGroups(array &$validatorConfig) { - if (isset($validatorConfig['options']['validationGroups']) - && $validatorConfig['validator'] !== 'DigiComp.SettingValidator:Settings' - ) { + if (isset($validatorConfig['options']['validationGroups']) && $validatorConfig['validator'] !== 'DigiComp.SettingValidator:Settings') { unset($validatorConfig['options']['validationGroups']); } elseif ($validatorConfig['validator'] === 'DigiComp.SettingValidator:Settings') { $validatorConfig['options']['validationGroups'] = $this->options['validationGroups']; diff --git a/Tests/Functional/Fixtures/TestObject.php b/Tests/Functional/Fixtures/TestObject.php index b91587a..8686bbd 100644 --- a/Tests/Functional/Fixtures/TestObject.php +++ b/Tests/Functional/Fixtures/TestObject.php @@ -1,4 +1,5 @@