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);
}
}
}
}
?> 