diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-11-08 19:53:19 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-11-08 19:53:19 +0000 |
commit | 3213087441874cf2ad3392aa935fc8728d5955a3 (patch) | |
tree | 55577f910be22400589f186b4c756746610bed71 /includes/form.inc | |
parent | a75f741e9b51b6f357e0ec957b7e5f0b06295b48 (diff) | |
download | brdo-3213087441874cf2ad3392aa935fc8728d5955a3.tar.gz brdo-3213087441874cf2ad3392aa935fc8728d5955a3.tar.bz2 |
- Patch #623992 by sun: fixed the tests. We can re-enable the test bot now.
Diffstat (limited to 'includes/form.inc')
-rw-r--r-- | includes/form.inc | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/includes/form.inc b/includes/form.inc index 9bf1ea841..7ddd6125d 100644 --- a/includes/form.inc +++ b/includes/form.inc @@ -832,7 +832,10 @@ function _form_validate($elements, &$form_state, $form_id = NULL) { // checkboxes, can return a valid value of '0'. Instead, check the // length if it's a string, and the item count if it's an array. if ($elements['#required'] && (!count($elements['#value']) || (is_string($elements['#value']) && strlen(trim($elements['#value'])) == 0))) { - form_error($elements, $t('!name field is required.', array('!name' => $elements['#title']))); + form_error($elements, $t('<a href="#!field_id">!name</a> field is required.', array( + '!field_id' => $elements['#id'], + '!name' => $elements['#title'], + ))); } // Verify that the value is not longer than #maxlength. @@ -2762,14 +2765,21 @@ function theme_form_element($variables) { $output = '<div class="' . implode(' ', $class) . '">' . "\n"; $required = !empty($element['#required']) ? theme('form_required_marker', array('element' => $element)) : ''; + $error = ''; + if (!empty($element['#required']) && empty($element['#value'])) { + $error = form_get_error($element) ? '<span class="error">' . $t('Field is required.') . '</span>' : ''; + } + else { + $error = form_get_error($element) ? '<span class="error">' . filter_xss_admin(form_get_error($element)) . '</span>' : ''; + } if (!empty($element['#title']) && empty($element['#form_element_skip_title'])) { $title = $element['#title']; if (!empty($element['#id'])) { - $output .= ' <label for="' . $element['#id'] . '">' . $t('!title !required', array('!title' => filter_xss_admin($title), '!required' => $required)) . "</label>\n"; + $output .= ' <label for="' . $element['#id'] . '">' . $t('!title !required !error', array('!title' => filter_xss_admin($title), '!required' => $required, '!error' => $error)) . "</label>\n"; } else { - $output .= ' <label>' . $t('!title !required', array('!title' => filter_xss_admin($title), '!required' => $required)) . "</label>\n"; + $output .= ' <label>' . $t('!title !required !error', array('!title' => filter_xss_admin($title), '!required' => $required, '!error' => $error)) . "</label>\n"; } } |