function _google_image_sitemap_create_form_validate in Google Image Sitemap 7
Same name and namespace in other branches
- 6 google_image_sitemap.module \_google_image_sitemap_create_form_validate()
Form validation handler for _google_image_sitemap_create_form().
File
- ./
google_image_sitemap.module, line 198 - A module gives to Google information about images on your site.
Code
function _google_image_sitemap_create_form_validate($form, &$form_state) {
// Check for valid url.
if (!empty($form_state['values']['license']) && !valid_url($form_state['values']['license'], TRUE)) {
form_set_error('license', t('Lincese should be a valid url.'));
}
// Validate range start for integer.
if (empty($form_state['values']['range_start'])) {
form_set_error('range_start', t('Range start should be an integer and greater than 0 value.'));
}
// Validate range start for integer.
if (!preg_match("/^([0-9]+)\$/", $form_state['values']['range_start'])) {
form_set_error('range_start', t('Range start should be an integer.'));
}
// Validate range end for integer.
if (!preg_match("/^([0-9]+)\$/", $form_state['values']['range_end'])) {
form_set_error('range_end', t('Range end should be an integer value.'));
}
// Validate range start and end.
if ($form_state['values']['range_start'] > $form_state['values']['range_end']) {
form_set_error('range_start', t('Range start should be less than to Range end.'));
}
// Validate range end with datbase.
$query = db_select('node', 'n');
$query
->condition('n.type', $form_state['values']['node_type'], '=');
$query
->condition('n.status', NODE_PUBLISHED);
$query
->addExpression('COUNT(n.nid)', 'max_nid');
// Validate range start and end.
if ($form_state['values']['range_start'] > $query
->execute()
->fetchField()) {
form_set_error('range_start', t('Range Start should not be greater than @max_nid (Node ID).', array(
'@max_nid' => $query
->execute()
->fetchField(),
)));
}
if ($form_state['values']['range_end'] > $query
->execute()
->fetchField()) {
form_set_error('range_end', t('Range End should not be greater than @max_nid (Node ID).', array(
'@max_nid' => $query
->execute()
->fetchField(),
)));
}
}