protected function availability_calendar_handler_filter_availability::validate_valid_time_1 in Availability Calendars 7.5
Same name and namespace in other branches
- 7.3 availability_calendar_handler_filter_availability.inc \availability_calendar_handler_filter_availability::validate_valid_time_1()
- 7.4 views/availability_calendar_handler_filter_availability.inc \availability_calendar_handler_filter_availability::validate_valid_time_1()
Parameters
array $element:
array|string $value:
bool $required:
DateTime|bool $minimum:
string $minimum_error_message:
Return value
DateTime|bool A DateTime if the value could be parsed into a Datetime, true if the value could not be parsed into a valid date but is valid anyway (empty, default value), false otherwise.
1 call to availability_calendar_handler_filter_availability::validate_valid_time_1()
- availability_calendar_handler_filter_availability::validate_value in views/
availability_calendar_handler_filter_availability.inc - Validate that the values convert to something usable.
File
- views/
availability_calendar_handler_filter_availability.inc, line 470
Class
- availability_calendar_handler_filter_availability
- Views handler to filter on availability.
Code
protected function validate_valid_time_1(&$element, $value, $required, $minimum, $minimum_error_message) {
// If date popup is enabled, the value will be an array (with a date and
// time component).
if (is_array($value)) {
$value = $value['date'];
}
if (empty($value)) {
$result = !$required;
if ($required) {
form_error($element, t('Field %field is required.', array(
'%field' => $element['#title'],
)));
}
}
else {
if (($result = availability_calendar_parse_entry_date($value)) === FALSE) {
// We accept non valid default values and treat them as empty, so they
// can be filled with a "help text".
$result = $value == $element['#default_value'];
if (!$result) {
form_error($element, t('Invalid date format.'));
}
}
else {
if ($minimum instanceof DateTime && $result < $minimum) {
form_error($element, $minimum_error_message);
$result = FALSE;
}
}
}
return $result;
}