function _entityform_paths_form_element_validate in Entityform 7
Same name and namespace in other branches
- 7.2 entityform_type.admin.inc \_entityform_paths_form_element_validate()
Form element validation handler for URL alias form element.
1 string reference to '_entityform_paths_form_element_validate'
- entityform_type_form in ./
entityform_type.admin.inc - Generates the entityform type editing form.
File
- ./
entityform_type.admin.inc, line 522 - Entityform type editing UI.
Code
function _entityform_paths_form_element_validate($element, &$form_state, $complete_form) {
$previous_paths = array();
$original_entityform_type = $form_state['entityform_type'];
foreach ($form_state['values']['paths'] as $path_type => $path) {
// Trim the submitted value.
$alias = trim($path['alias']);
if (!empty($alias)) {
form_set_value($element[$path_type]['alias'], $alias, $form_state);
$path = $form_state['values']['paths'][$path_type];
if (in_array($path['alias'], $previous_paths)) {
form_error($element[$path_type]['alias'], "Aliases must be unique.");
return;
}
$previous_paths[] = $path['alias'];
// Ensure that the submitted alias does not exist yet.
$query = db_select('url_alias')
->condition('alias', $path['alias'])
->condition('language', LANGUAGE_NONE);
if (!empty($original_entityform_type->paths[$path_type])) {
$query
->condition('source', $original_entityform_type->paths[$path_type]['source'], '<>');
}
$query
->addExpression('1');
$query
->range(0, 1);
if ($query
->execute()
->fetchField()) {
form_error($element[$path_type]['alias'], t('The alias is already in use.'));
return;
}
}
}
}