diff --git a/core/includes/form.inc b/core/includes/form.inc index 6956f04..57552c0 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -2907,7 +2907,7 @@ function password_confirm_validate($element, &$element_state) { form_error($element, t('The specified passwords do not match.')); } } - elseif ($element['#required'] && !empty($element_state['input'])) { + elseif (!empty($element['#required_but_empty'])) { form_error($element, t('Password field is required.')); } @@ -3288,7 +3288,7 @@ function form_process_pattern($element, &$form_state) { * @see form_process_pattern() */ function form_validate_pattern($element, &$form_state) { - if ($element['#value'] !== '') { + if (!empty($element['#required_but_empty']) && $element['#value'] !== '') { // The pattern must match the entire string and should have the same // behavior as the RegExp object in ECMA 262. // - Use bracket-style delimiters to avoid introducing a special delimiter @@ -4115,7 +4115,7 @@ function theme_range($variables) { */ function form_validate_number(&$element, &$form_state) { $value = $element['#value']; - if ($value === '') { + if (!empty($element['#required_but_empty']) || $value === '') { return; } diff --git a/core/modules/image/image.admin.inc b/core/modules/image/image.admin.inc index 933a4ad..665b016 100644 --- a/core/modules/image/image.admin.inc +++ b/core/modules/image/image.admin.inc @@ -434,7 +434,7 @@ function image_effect_delete_form_submit($form, &$form_state) { * Element validate handler to ensure a hexadecimal color value. */ function image_effect_color_validate($element, &$form_state) { - if ($element['#value'] != '') { + if ($element['#value'] !== '') { $hex_value = preg_replace('/^#/', '', $element['#value']); if (!preg_match('/^#[0-9A-F]{3}([0-9A-F]{3})?$/', $element['#value'])) { form_error($element, t('!name must be a hexadecimal color value.', array('!name' => $element['#title'])));