public function AutoUsernameSettingsForm::validateForm in Automatic User Names 8
Validate auto_username_settings_form form submissions.
Overrides FormBase::validateForm
File
- src/Form/ AutoUsernameSettingsForm.php, line 257 
Class
- AutoUsernameSettingsForm
- Class AutoUsernameSettingsForm.
Namespace
Drupal\auto_username\FormCode
public function validateForm(array &$form, FormStateInterface $form_state) {
  // Perform a basic check for HTML characters in the strings to remove field.
  if (strip_tags($form_state
    ->getValue('aun_ignore_words')) != $form_state
    ->getValue('aun_ignore_words')) {
    $form_state
      ->setErrorByName('aun_ignore_words', $this
      ->t('The <em>Strings to remove</em> field must not contain HTML. Make sure to disable any WYSIWYG editors for this field.'));
  }
  // Validate that the separator is not set to be removed.
  // This isn't really all that bad so warn, but still allow them to save the
  // value.
  $separator = $form_state
    ->getValue('aun_separator');
  $punctuation = $this
    ->autoUsernamePunctuationChars();
  foreach ($punctuation as $name => $details) {
    if ($details['value'] == $separator) {
      $action = $form_state
        ->getValue('aun_punctuation_' . $name);
      if ($action == AUN_PUNCTUATION_REMOVE) {
        drupal_set_message($this
          ->t('You have configured the @name to be the separator and to be removed when encountered in strings. You should probably set the action for @name to be "replace by separator".', [
          '@name' => $details['name'],
        ]), 'error');
      }
    }
  }
}