You are here

function date_text_validate in Date 6.2

Same name and namespace in other branches
  1. 5.2 date_api_elements.inc \date_text_validate()
  2. 5 date.inc \date_text_validate()
  3. 6 date_api_elements.inc \date_text_validate()
  4. 7.3 date_api/date_api_elements.inc \date_text_validate()
  5. 7 date_api/date_api_elements.inc \date_text_validate()
  6. 7.2 date_api/date_api_elements.inc \date_text_validate()

Validation for text input.

When used as a Views widget, the validation step always gets triggered, even with no form submission. Before form submission $element['#value'] contains a string, after submission it contains an array.

1 string reference to 'date_text_validate'
date_text_process in ./date_api_elements.inc
Text date input form.

File

./date_api_elements.inc, line 478
Date API elements themes and validation. This file is only included during the edit process to reduce memory usage.

Code

function date_text_validate($element, &$form_state) {
  if (is_string($element['#value'])) {
    return;
  }
  $parents = $element['#parents'];
  $label = !empty($element['#date_title']) ? $element['#date_title'] : (!empty($element['#title']) ? $element['#title'] : '');
  $value = date_text_input_value($element);
  if (empty($value) && !empty($element['#required'])) {
    form_error($element, t('A valid date is required for %title.', array(
      '%title' => $label,
    )));
  }
  elseif (empty($value) && !empty($element['#value']['date'])) {
    form_error($element, t('%title is invalid.', array(
      '%title' => $label,
    )));
  }
  elseif (!empty($value)) {
    form_set_value($element, $value, $form_state);
  }
}