function form_validate_color

Form element validation handler for #type 'color'.

Related topics

1 string reference to 'form_validate_color'
system_element_info in drupal/core/modules/system/system.module
Implements hook_element_info().

File

drupal/core/includes/form.inc, line 4276
Functions for form and batch generation and processing.

Code

function form_validate_color(&$element, &$form_state) {
  $value = trim($element['#value']);

  // Default to black if no value is given.
  // @see http://www.w3.org/TR/html5/number-state.html#color-state
  if ($value === '') {
    form_set_value($element, '#000000', $form_state);
  }
  else {

    // Try to parse the value and normalize it.
    try {
      form_set_value($element, Color::rgbToHex(Color::hexToRgb($value)), $form_state);
    } catch (InvalidArgumentException $e) {
      form_error($element, t('%name must be a valid color.', array(
        '%name' => empty($element['#title']) ? $element['#parents'][0] : $element['#title'],
      )));
    }
  }
}