- if (empty($storagebackend) || !DI::storageManager()->setBackend($storagebackend)) {
- notice(DI::l10n()->t('Invalid storage backend setting value.'));
+ if (!empty($_POST['submit_save_set'])) {
+ try {
+ /** @var IWritableStorage $newstorage */
+ $newstorage = DI::storageManager()->getWritableStorageByName($storagebackend);
+
+ if (!DI::storageManager()->setBackend($newstorage)) {
+ notice(DI::l10n()->t('Invalid storage backend setting value.'));
+ }
+ } catch (InvalidClassStorageException $storageException) {
+ notice(DI::l10n()->t('Invalid storage backend setting value.'));
+ }