*/ class LSformRule_date extends LSformRule { // CLI parameters autocompleters protected static $cli_params_autocompleters = array( 'format' => null, 'special_values' => null, ); /** * Validation de données * * @param mixed $value Données à valider * @param array $options Options de validation * $options['params']['format']: le format de la date * $options['params']['special_values']: array of special allowed values * @param object $formElement L'objet formElement attaché * * @return boolean True si les données sont valide, False sinon. */ public static function validate($value, $options, &$formElement) { $special_values = LSconfig :: get('params.special_values', array(), null, $options); if (in_array($value, $special_values)) return true; $format = LSconfig :: get('params.format', null, 'string', $options); if (is_null($format)) { LSerror :: addErrorCode('LSformRule_date_01'); return; } $date = strptime($value, $format); if(is_array($date)) { $res = mktime($date['tm_hour'],$date['tm_min'],$date['tm_sec'],$date['tm_mon']+1,$date['tm_mday'],$date['tm_year']+1900); if ((is_int($res)) && ($res != -1) && ($res !== False)) { return true; } } return; } } /* * Error Codes */ LSerror :: defineError('LSformRule_date_01', ___("LSformRule_date : No date format specify.") );