4 if (!defined('_ECRIRE_INC_VERSION')) {
9 * Vérifie qu'un entier cohérent peut être extrait de la valeur
11 * - min : valeur minimale acceptée
12 * - max : valeur maximale acceptée
14 * @param string $valeur
15 * La valeur à vérifier.
16 * @param array $options
17 * Si ce tableau associatif contient une valeur pour 'min' ou 'max', un contrôle supplémentaire sera effectué.
19 * Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur.
21 function verifier_decimal_dist($valeur, $options = array()) {
22 $erreur = _T('verifier:erreur_decimal');
23 if (isset($options['separateur']) and $options['separateur']!='') {
24 $valeur = str_replace($options['separateur'], '.', $valeur);
26 // Pas de tableau ni d'objet
27 if (is_numeric($valeur) and $valeur == floatval($valeur)) {
28 // Si c'est une chaine on convertit en flottant
29 $valeur = floatval($valeur);
33 if (isset($options['min'])) {
34 $min = floatval(str_replace(",", '.', $options['min']));
35 $ok = ($ok and ($valeur >= $min));
38 if (isset($options['max'])) {
39 $max = floatval(str_replace(",", '.', $options['max']));
40 $ok = ($ok and ($valeur <= $max));
44 if (isset($options['min']) and isset($options['max'])) {
45 $erreur = _T('verifier:erreur_entier_entre', $options);
46 } elseif (isset($options['max'])) {
47 $erreur = _T('verifier:erreur_entier_max', $options);
49 $erreur = _T('verifier:erreur_entier_min', $options);
54 // On vérifie le nombre de décimales après la virgule
55 if (isset($options['nb_decimales']) and $nb_decimales = $options['nb_decimales'] and round($valeur, $nb_decimales) != $valeur) {
56 $erreur = _T('verifier:erreur_decimal_nb_decimales', array('nb_decimales' => $nb_decimales));