You are here

public static function Address::validateAddress in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformElement/Address.php \Drupal\webform\Plugin\WebformElement\Address::validateAddress()

Form API callback. Make sure address element value includes a country code.

File

src/Plugin/WebformElement/Address.php, line 451

Class

Address
Provides a 'address' element.

Namespace

Drupal\webform\Plugin\WebformElement

Code

public static function validateAddress(array &$element, FormStateInterface $form_state, array &$completed_form) {
  $value = $element['#value'];
  if (empty($element['#multiple'])) {
    if (empty($value['country_code'])) {
      $form_state
        ->setValueForElement($element, NULL);
    }
  }
  else {
    foreach ($value as $index => $item) {
      if (empty($item['country_code'])) {
        unset($value[$index]);
      }
    }
    $value = array_values($value);
    $form_state
      ->setValueForElement($element, $value ?: NULL);
  }
}