1 filter.pages.inc | _filter_format_editor_link_url_validate(&$element, &$form_state) |
Element validation function.
Clean up a URL and see if it will pass validation. Instead of stripping dangerous protocols we flag them as invalid to make the user aware.
See also
filter_format_editor_link_form()
filter_format_editor_image_form()
File
- core/
modules/ filter/ filter.pages.inc, line 542 - User page callbacks for the Filter module.
Code
function _filter_format_editor_link_url_validate(&$element, &$form_state) {
$value = trim($element['#value']);
// Allow empty values, since this will not result in a link tag anyway.
if ($value === '') {
form_set_value($element, $value, $form_state);
return;
}
// Clean up the URL so it's more likely to pass validation.
$value = _filter_cleanup_url($value);
form_set_value($element, $value, $form_state);
// Flag if it has any dangerous protocols.
$stripped_url = backdrop_strip_dangerous_protocols($value);
$dangerous_protocols = $stripped_url !== $value ? TRUE : FALSE;
// If it has dangerous protocols the URL is invalid. Or if it isn't either
// a valid relative nor a valid absolute path.
if ($dangerous_protocols || (!valid_url($value, TRUE) && !valid_url($value, FALSE))) {
form_error($element, t('The URL %url is not valid.', array('%url' => $value)));
}
}