*/ class LSformRule_rangelength extends LSformRule { // CLI parameters autocompleters protected static $cli_params_autocompleters = array( 'limits' => null, ); /** * Vérification de la valeur. * * @param string $values Valeur à vérifier * @param array $options Options de validation : * - Longueur min : $options['params']['limits'][0] * - Longueur max : $options['params']['limits'][1] * @param object $formElement L'objet formElement attaché * * @return boolean true si la valeur est valide, false sinon */ public static function validate($value, $options=array(), &$formElement) { $limits = LSconfig :: get('params.limits', null, null, $options); if(!is_array($limits) || count($limits) != 2) { LSerror :: addErrorCode('LSformRule_01',array('type' => 'rangelength', 'param' => 'limits')); return; } $len = strlen($value); if ($len < $limits[0]) throw new LSformRuleException( getFData(_('Value is too short (minimum: %{limit}).'), $limits[0]) ); if ($len > $limits[1]) throw new LSformRuleException( getFData(_('Value is too long (maximum: %{limit}).'), $limits[1]) ); return True; } }