You are here

public function WebformEntitySettingsFormForm::validateForm in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/EntitySettings/WebformEntitySettingsFormForm.php \Drupal\webform\EntitySettings\WebformEntitySettingsFormForm::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

src/EntitySettings/WebformEntitySettingsFormForm.php, line 687

Class

WebformEntitySettingsFormForm
Webform form settings.

Namespace

Drupal\webform\EntitySettings

Code

public function validateForm(array &$form, FormStateInterface $form_state) {
  $values = $form_state
    ->getValues();
  if ($values['status'] === WebformInterface::STATUS_SCHEDULED) {

    // Require open or close dates.
    if (empty($values['open']) && empty($values['close'])) {
      $form_state
        ->setErrorByName('status', $this
        ->t('Please enter an open or close date'));
    }

    // Make sure open date is not after close date.
    if (!empty($values['open']) && !empty($values['close']) && $values['open'] > $values['close']) {
      $form_state
        ->setErrorByName('open', $this
        ->t("The webform's close date cannot be before the open date"));
    }
  }
}