function JobItemForm::validateTags

Submit handler for the HTML tag validation.

File

src/Form/JobItemForm.php, line 591

Class

JobItemForm
Form controller for the job item edit forms.

Namespace

Drupal\tmgmt\Form

Code

function validateTags(array $form, FormStateInterface $form_state) {
  $validation_messages = array();
  $field_count = 0;
  foreach ($form_state
    ->getValues() as $field => $value) {
    if (is_array($value) && isset($value['translation'])) {
      if (!empty($value['translation'])) {
        $tags_validated = $this
          ->compareHTMLTags($value['source'], $value['translation']);
        if ($tags_validated) {
          $validation_messages[$field] = $tags_validated;
          $field_count++;
        }
      }
    }
  }
  if ($field_count > 0) {
    $this
      ->messenger()
      ->addError(t('HTML tag validation failed for @count field(s).', array(
      '@count' => $field_count,
    )));
  }
  else {
    $this
      ->messenger()
      ->addStatus(t('Validation completed successfully.'));
  }
  $form_state
    ->set('validation_messages', $validation_messages);
  $request = \Drupal::request();
  $url = $this->entity
    ->toUrl('canonical');
  if ($request->query
    ->has('destination')) {
    $destination = $request->query
      ->get('destination');
    $request->query
      ->remove('destination');
    $url
      ->setOption('query', array(
      'destination' => $destination,
    ));
  }
  $form_state
    ->setRedirectUrl($url);
  $form_state
    ->setRebuild();
}