Add missing validation rule.

1.10.x
Julio Montoya 10 years ago
parent 58eb691e2a
commit ffe1d5de12
  1. 27
      main/inc/lib/formvalidator/Rule/CompareDateTimeText.php
  2. 3
      main/inc/lib/pear/HTML/QuickForm/RuleRegistry.php

@ -0,0 +1,27 @@
<?php
/* For licensing terms, see /license.txt */
/**
* QuickForm rule to compare 2 dates
*/
class HTML_QuickForm_Rule_CompareDateTimeText extends HTML_QuickForm_Rule_Compare
{
/**
* Validate 2 dates
* @param string $operator The operator to use (default '==')
* @return boolean True if the 2 given dates match the operator
*/
function validate($values, $operator = null) {
$datetime1 = api_strtotime($values[0]);
$datetime2 = api_strtotime($values[1]);
if (strpos($operator, 'allow_empty') !== false) {
$operator = str_replace('allow_empty', '', $operator);
if (!$datetime2 || empty($datetime2)) {
return true;
}
}
$result = parent::validate(array($datetime1, $datetime2), $operator);
return $result;
}
}

@ -151,7 +151,8 @@ class HTML_QuickForm_RuleRegistry
'compare_fields' => 'HTML_QuickForm_Compare_Fields',
'html' => 'HTML_QuickForm_Rule_HTML',
'CAPTCHA' => 'HTML_QuickForm_Rule_CAPTCHA',
'date' => 'HTML_QuickForm_Rule_Date'
'date' => 'HTML_QuickForm_Rule_Date',
'compare_datetime_text' => 'HTML_QuickForm_Rule_CompareDateTimeText'
);
$class = $rules[$ruleName];

Loading…
Cancel
Save