Fix validating the date range with Y-m-d format

1.10.x
Angel Fernando Quiroz Campos 10 years ago
parent 4e642c9b6b
commit a04438583b
  1. 8
      main/inc/lib/formvalidator/Element/DateRangePicker.php
  2. 4
      main/inc/lib/pear/HTML/QuickForm.php

@ -27,6 +27,10 @@ class DateRangePicker extends HTML_QuickForm_text
{
$js = $this->getElementJS();
$this->removeAttribute('format');
$this->removeAttribute('timepicker');
$this->removeAttribute('validate_format');
return $js.parent::toHtml();
}
@ -144,13 +148,13 @@ class DateRangePicker extends HTML_QuickForm_text
*
* @return bool
*/
public function validateDates($dates)
public function validateDates($dates, $format = null)
{
if (empty($dates['start']) || empty($dates['end'])) {
return false;
}
$format = 'Y-m-d H:i';
$format = $format ? $format : 'Y-m-d H:i';
$d = DateTime::createFromFormat($format, $dates['start']);
$resultStart = $d && $d->format($format) == $dates['start'];

@ -903,7 +903,9 @@ class HTML_QuickForm extends HTML_Common
$element = $this->getElement($elementName);
$parsedDates = $element->parseDateRange($value);
if (!$element->validateDates($parsedDates)) {
$validateFormat = $element->getAttribute('validate_format');
if (!$element->validateDates($parsedDates, $validateFormat)) {
$this->_errors[$elementName] = get_lang('CheckDates');
}

Loading…
Cancel
Save