You are here

public function BanAdmin::validateForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/ban/src/Form/BanAdmin.php \Drupal\ban\Form\BanAdmin::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/modules/ban/src/Form/BanAdmin.php, line 108

Class

BanAdmin
Displays banned IP addresses.

Namespace

Drupal\ban\Form

Code

public function validateForm(array &$form, FormStateInterface $form_state) {
  $ip = trim($form_state
    ->getValue('ip'));
  if ($this->ipManager
    ->isBanned($ip)) {
    $form_state
      ->setErrorByName('ip', $this
      ->t('This IP address is already banned.'));
  }
  elseif ($ip == $this
    ->getRequest()
    ->getClientIP()) {
    $form_state
      ->setErrorByName('ip', $this
      ->t('You may not ban your own IP address.'));
  }
  elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE) == FALSE) {
    $form_state
      ->setErrorByName('ip', $this
      ->t('Enter a valid IP address.'));
  }
}