public function SiteSettingsForm::validateForm in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Installer/Form/SiteSettingsForm.php \Drupal\Core\Installer\Form\SiteSettingsForm::validateForm()
Form validation handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
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);
}
}