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');
24 // Pas de tableau ni d'objet
25 if (is_numeric($valeur) and $valeur == floatval($valeur)) {
26 // Si c'est une chaine on convertit en flottant
27 $valeur = floatval($valeur);
31 if (isset($options['min'])) {
32 $ok = ($ok and ($valeur >= $options['min']));
35 if (isset($options['max'])) {
36 $ok = ($ok and ($valeur <= $options['max']));
40 if (isset($options['min']) and isset($options['max'])) {
41 $erreur = _T('verifier:erreur_entier_entre', $options);
42 } elseif (isset($options['max'])) {
43 $erreur = _T('verifier:erreur_entier_max', $options);
45 $erreur = _T('verifier:erreur_entier_min', $options);
50 // On vérifie le nombre de décimales après la virgule
51 if (isset($options['nb_decimales']) and $nb_decimales = $options['nb_decimales'] and round($valeur, $nb_decimales) != $valeur) {
52 $erreur = _T('verifier:erreur_decimal_nb_decimales', array('nb_decimales' => $nb_decimales));