diff -u b/core/lib/Drupal/Core/Config/Config.php b/core/lib/Drupal/Core/Config/Config.php --- b/core/lib/Drupal/Core/Config/Config.php +++ b/core/lib/Drupal/Core/Config/Config.php @@ -68,9 +68,9 @@ * The typed configuration manager service. */ public function __construct($name, StorageInterface $storage, EventDispatcherInterface $event_dispatcher, TypedConfigManagerInterface $typed_config) { - // Validate the configuration object name. - static::validateName($name); - $this->name = $name; + // Calling parent constructor is needed for properly validate the + // configuration object name. + parent::__construct($name); $this->storage = $storage; $this->eventDispatcher = $event_dispatcher; $this->typedConfigManager = $typed_config; diff -u b/core/lib/Drupal/Core/Config/ConfigBase.php b/core/lib/Drupal/Core/Config/ConfigBase.php --- b/core/lib/Drupal/Core/Config/ConfigBase.php +++ b/core/lib/Drupal/Core/Config/ConfigBase.php @@ -61,6 +61,18 @@ const MAX_NAME_LENGTH = 250; /** + * Constructs a configuration object. + * + * @param string $name + * The name of the configuration object being constructed. + */ + public function __construct($name) { + // Validate the configuration object name. + static::validateName($name); + $this->name = $name; + } + + /** * Returns the name of this configuration object. * * @return string --- a/core/modules/language/src/Config/LanguageConfigOverride.php +++ b/core/modules/language/src/Config/LanguageConfigOverride.php @@ -41,7 +41,9 @@ class LanguageConfigOverride extends StorableConfigBase { * The event dispatcher. */ public function __construct($name, StorageInterface $storage, TypedConfigManagerInterface $typed_config, EventDispatcherInterface $event_dispatcher) { - $this->name = $name; + // Calling parent constructor is needed for properly validate the + // configuration object name. + parent::__construct($name); $this->storage = $storage; $this->typedConfigManager = $typed_config; $this->eventDispatcher = $event_dispatcher;