Validaring a hook_form()
/**
* Validates example admin settings.
*/
function example_admin_settings_form_validate($form, &$form_state) {
// Regular expression for validating signed degrees.
$signed_degree_regex = '/^[+-]?\d+(\.\d+)?$/';
// Shorthand for long array names.
$lat = $form_state['values']['example_default_center_lat'];
$long = $form_state['values']['example_default_center_long'];
// Validate latitude and longitude format.
if (!preg_match($signed_degree_regex, $lat)) {
form_set_error('example_default_center_lat', t('Invalid latitude; must be a signed degree (DDD.dddd).'));
}
if (!preg_match($signed_degree_regex, $long)) {
form_set_error('example_default_center_long', t('Invalid longitude; must be a signed degree (DDD.dddd).'));
}
// Validate latitude and longitude values.
if (!((-180 <= $lat) && ($lat <= 180))) {
form_set_error('example_default_center_lat', t('Latitude must be between -180 and 180'));
}
if (!((-180 <= $long) && ($long <= 180))) {
form_set_error('example_default_center_long', t('Longitude must be between -180 and 180'));
}
}
