geocode_widget_form_validate

geocode/modules/geocode_widget/geocode_widget.module, line 68

Versions
6
geocode_widget_form_validate($form, &$form_state)

A form validation callback for forms that include geocode widgets.

Code

<?php
function geocode_widget_form_validate($form, &$form_state) {
  foreach ($form['#geocode_fields'] as $geo_field_name => $geo_field) {
    foreach ($geo_field['widget']['geocode_fields'] as $field => $info) {
      if (!$info['status']) continue;

      $values = array();
      foreach (element_children($form[$field]) as $delta) {
        $input = $form[$field][$delta]['#value'];
        $type = 'field_geo:'. $geo_field['geo_type'];
        if ($geo = geocode($info['handler'], $input, $type, $info['options'])) {
          $values[$delta] = $geo;
        }
      }
      if ($values) {
        form_set_value($form[$geo_field_name], $values, $form_state);
      }
    }
  }
}
?>