From 8e2ba83ab65d5dd9ccd888d610ed16fc29d8c9a4 Mon Sep 17 00:00:00 2001 From: "dwojylac@free.fr" <> Date: Mon, 25 Oct 2010 20:13:35 +0000 Subject: [PATCH] =?UTF-8?q?On=20affine=20la=20v=C3=A9rification=20des=20da?= =?UTF-8?q?tes=20et=20leur=20validation=20en=20utilisant=20checkdate.=20Di?= =?UTF-8?q?stinction=20dans=20les=20messages=20d'erreur=20entre=20une=20er?= =?UTF-8?q?reur=20de=20format=20et=20une=20date=20non=20valide.=20Mise=20?= =?UTF-8?q?=C3=A0=20jour=20du=20fichier=20de=20tests=20en=20cons=C3=A9quen?= =?UTF-8?q?ce?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/verifier_ca.php | 3 ++- lang/verifier_de.php | 3 ++- lang/verifier_en.php | 3 ++- lang/verifier_fr.php | 3 ++- test/verifier.html | 6 ++++++ verifier/date.php | 6 ++++-- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lang/verifier_ca.php b/lang/verifier_ca.php index 2502fe8..6969ee2 100644 --- a/lang/verifier_ca.php +++ b/lang/verifier_ca.php @@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; $GLOBALS[$GLOBALS['idx_lang']] = array( // E - 'erreur_date' => 'El format de la data no és correcte.', + 'erreur_date' => 'La data no és correcte.', + 'erreur_date_format' => 'El format de la data no és correcte.', 'erreur_email' => 'L\'adreça de correu electrònic <em>@email@</em> no té un format vàlid.', 'erreur_email_nondispo' => 'L\'adreça de correu electrònic <em>@email@</em> ja s\'utilitza.', 'erreur_entier' => 'El valor ha de ser un nombre enter.', diff --git a/lang/verifier_de.php b/lang/verifier_de.php index 0493b2a..7e6b0b0 100644 --- a/lang/verifier_de.php +++ b/lang/verifier_de.php @@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; $GLOBALS[$GLOBALS['idx_lang']] = array( // E - 'erreur_date' => 'Fromat des Datums ungültig', + 'erreur_date' => 'Das Datum ist nicht gültig', + 'erreur_date_format' => 'Format des Datums ungültig', 'erreur_email' => 'Die Mailadresse <em>@email@</em> hat einen Syntaxfehler.', 'erreur_email_nondispo' => 'Die Mailadresse <em>@email@</em> wird bereits verwendet.', 'erreur_entier' => 'Der Wert muß eine ganze Zahl sein.', diff --git a/lang/verifier_en.php b/lang/verifier_en.php index c307ce5..8f10f0e 100644 --- a/lang/verifier_en.php +++ b/lang/verifier_en.php @@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; $GLOBALS[$GLOBALS['idx_lang']] = array( // E - 'erreur_date' => 'The date format is invalid.', + 'erreur_date' => 'The date is invalid.', + 'erreur_date_format' => 'The date format is invalid.', 'erreur_email' => 'The email address <em>@email@</em> is not correctly formatted.', 'erreur_email_nondispo' => 'The email address <em>@email@</em> has already been used.', 'erreur_entier' => 'The value must be an integer.', diff --git a/lang/verifier_fr.php b/lang/verifier_fr.php index 165ed93..3652e55 100644 --- a/lang/verifier_fr.php +++ b/lang/verifier_fr.php @@ -6,7 +6,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; $GLOBALS[$GLOBALS['idx_lang']] = array( // E - 'erreur_date' => 'Le format de la date n\'est pas accepté.', + 'erreur_date' => 'La date n\'est pas valide.', + 'erreur_date_format' => 'Le format de la date n\'est pas accepté.', 'erreur_email' => 'L\'adresse de courriel <em>@email@</em> n\'a pas un format valide.', 'erreur_email_nondispo' => 'L\'adresse de courriel <em>@email@</em> est déjà utilisée.', 'erreur_entier' => 'La valeur doit être un entier.', diff --git a/test/verifier.html b/test/verifier.html index e1d39e5..60dd033 100644 --- a/test/verifier.html +++ b/test/verifier.html @@ -140,11 +140,17 @@ var_dump($verifier($siret_non_valide, 'siren_siret',array('mode'=>'siret'))); <?php $date_valide = "30-01-2009"; $date_non_valide = "321227822"; +$date_non_valide2 = "29-02-2011"; +$date_valide2 = "29-02-2012"; echo "Date JJ/MM/AAAA (avec séparateur /.-) : $date_valide ?"; var_dump($verifier($date_valide, 'date')); echo "Date JJ/MM/AAAA : $date_non_valide ?"; var_dump($verifier($date_non_valide, 'date')); +echo "Date JJ/MM/AAAA : $date_non_valide2 ?"; +var_dump($verifier($date_non_valide2, 'date')); +echo "Date JJ/MM/AAAA : $date_valide2 ?"; +var_dump($verifier($date_valide2, 'date')); ?> </pre> diff --git a/verifier/date.php b/verifier/date.php index 65f5942..0957b90 100644 --- a/verifier/date.php +++ b/verifier/date.php @@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; */ function verifier_date_dist($valeur, $options=array()){ - $erreur = _T('verifier:erreur_date'); + $erreur = _T('verifier:erreur_date_format'); $ok = ''; // On tolère différents séparateurs $valeur = preg_replace("#\.|/| #i",'-',$valeur); @@ -24,7 +24,9 @@ function verifier_date_dist($valeur, $options=array()){ if(!preg_match('#^[0-9]{2}-[0-9]{2}-[0-9]{4}$#',$valeur)) return $erreur; // On vérifie vite fait que les dates existent, genre le 32 pour un jour NON, (mais on pourrait aller plus loin et vérifier en fonction du mois) list($jour,$mois,$annee) = explode('-',$valeur); - if(($jour > 31)|| ($jour < 1) || ($mois > 12) || ($mois < 1) || ($annee < 1800)) return $erreur; // 1800, je crois qu'avant les gens ne sont plus vivants °_° + // validité de la date + $erreur = _T('verifier:erreur_date'); + if (!checkdate($mois, $jour, $annee)) return $erreur; return $ok; } -- GitLab