function SiteSettingsForm::validateForm
Same name in other branches
- 8.9.x core/lib/Drupal/Core/Installer/Form/SiteSettingsForm.php \Drupal\Core\Installer\Form\SiteSettingsForm::validateForm()
- 10 core/lib/Drupal/Core/Installer/Form/SiteSettingsForm.php \Drupal\Core\Installer\Form\SiteSettingsForm::validateForm()
- 11.x core/lib/Drupal/Core/Installer/Form/SiteSettingsForm.php \Drupal\Core\Installer\Form\SiteSettingsForm::validateForm()
Overrides FormBase::validateForm
File
-
core/
lib/ Drupal/ Core/ Installer/ Form/ SiteSettingsForm.php, line 156
Class
- SiteSettingsForm
- Provides a form to configure and rewrite settings.php.
Namespace
Drupal\Core\Installer\FormCode
public function validateForm(array &$form, FormStateInterface $form_state) {
$driver = $form_state->getValue('driver');
$database = $form_state->getValue($driver);
$drivers = drupal_get_database_types();
$reflection = new \ReflectionClass($drivers[$driver]);
$install_namespace = $reflection->getNamespaceName();
// Cut the trailing \Install from namespace.
$database['namespace'] = substr($install_namespace, 0, strrpos($install_namespace, '\\'));
$database['driver'] = $driver;
// See default.settings.php for an explanation of the 'autoload' key.
if ($autoload = Database::findDriverAutoloadDirectory($database['namespace'], DRUPAL_ROOT)) {
$database['autoload'] = $autoload;
}
$form_state->set('database', $database);
foreach ($this->getDatabaseErrors($database, $form_state->getValue('settings_file')) as $name => $message) {
$form_state->setErrorByName($name, $message);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.