1 form.inc | html_time_validate($element, &$form_state) |
Validate a time string.
Related topics
File
- core/
includes/ form.inc, line 3342 - Functions for form and batch generation and processing.
Code
function html_time_validate($element, &$form_state) {
$time = $element['#value'];
if (!empty($time)) {
// Pad time if seconds were omitted because of the step attribute,
// or a browser skipped it. Our date pattern contains seconds.
if (preg_match('/^\d{2}:\d{2}$/', $time)) {
$time .= ':00';
}
$valid_time = FALSE;
$created_time = DateTime::createFromFormat(DATE_FORMAT_TIME, $time);
if (is_object($created_time)) {
// DateTime::createFromFormat alone is too permissive.
if ($created_time->format(DATE_FORMAT_TIME) == $time) {
$valid_time = TRUE;
}
}
if (!$valid_time) {
form_error($element, t('%time is not a valid time.', array('%time' => $time)));
}
}
}