Skip to content
Extraits de code Groupes Projets
Valider 8e2ba83a rédigé par dwojylac@free.fr's avatar dwojylac@free.fr
Parcourir les fichiers

On affine la vérification des dates et leur validation en utilisant checkdate.

Distinction dans les messages d'erreur entre une erreur de format et une date non valide.
Mise à jour du fichier de tests en conséquence
parent 10e3a50f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS[$GLOBALS['idx_lang']] = array( $GLOBALS[$GLOBALS['idx_lang']] = array(
// E // 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&ccedil;a de correu electr&ograve;nic <em>@email@</em> no t&eacute; un format v&agrave;lid.', 'erreur_email' => 'L\'adre&ccedil;a de correu electr&ograve;nic <em>@email@</em> no t&eacute; un format v&agrave;lid.',
'erreur_email_nondispo' => 'L\'adre&ccedil;a de correu electr&ograve;nic <em>@email@</em> ja s\'utilitza.', 'erreur_email_nondispo' => 'L\'adre&ccedil;a de correu electr&ograve;nic <em>@email@</em> ja s\'utilitza.',
'erreur_entier' => 'El valor ha de ser un nombre enter.', 'erreur_entier' => 'El valor ha de ser un nombre enter.',
......
...@@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS[$GLOBALS['idx_lang']] = array( $GLOBALS[$GLOBALS['idx_lang']] = array(
// E // E
'erreur_date' => 'Fromat des Datums ung&uuml;ltig', 'erreur_date' => 'Das Datum ist nicht g&uuml;ltig',
'erreur_date_format' => 'Format des Datums ung&uuml;ltig',
'erreur_email' => 'Die Mailadresse <em>@email@</em> hat einen Syntaxfehler.', 'erreur_email' => 'Die Mailadresse <em>@email@</em> hat einen Syntaxfehler.',
'erreur_email_nondispo' => 'Die Mailadresse <em>@email@</em> wird bereits verwendet.', 'erreur_email_nondispo' => 'Die Mailadresse <em>@email@</em> wird bereits verwendet.',
'erreur_entier' => 'Der Wert mu&szlig; eine ganze Zahl sein.', 'erreur_entier' => 'Der Wert mu&szlig; eine ganze Zahl sein.',
......
...@@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -8,7 +8,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS[$GLOBALS['idx_lang']] = array( $GLOBALS[$GLOBALS['idx_lang']] = array(
// E // 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' => 'The email address <em>@email@</em> is not correctly formatted.',
'erreur_email_nondispo' => 'The email address <em>@email@</em> has already been used.', 'erreur_email_nondispo' => 'The email address <em>@email@</em> has already been used.',
'erreur_entier' => 'The value must be an integer.', 'erreur_entier' => 'The value must be an integer.',
......
...@@ -6,7 +6,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -6,7 +6,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS[$GLOBALS['idx_lang']] = array( $GLOBALS[$GLOBALS['idx_lang']] = array(
// E // E
'erreur_date' => 'Le format de la date n\'est pas accept&eacute;.', 'erreur_date' => 'La date n\'est pas valide.',
'erreur_date_format' => 'Le format de la date n\'est pas accept&eacute;.',
'erreur_email' => 'L\'adresse de courriel <em>@email@</em> n\'a pas un format valide.', '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&eacute;j&agrave; utilis&eacute;e.', 'erreur_email_nondispo' => 'L\'adresse de courriel <em>@email@</em> est d&eacute;j&agrave; utilis&eacute;e.',
'erreur_entier' => 'La valeur doit &ecirc;tre un entier.', 'erreur_entier' => 'La valeur doit &ecirc;tre un entier.',
......
...@@ -140,11 +140,17 @@ var_dump($verifier($siret_non_valide, 'siren_siret',array('mode'=>'siret'))); ...@@ -140,11 +140,17 @@ var_dump($verifier($siret_non_valide, 'siren_siret',array('mode'=>'siret')));
<?php <?php
$date_valide = "30-01-2009"; $date_valide = "30-01-2009";
$date_non_valide = "321227822"; $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 ?"; echo "Date JJ/MM/AAAA (avec séparateur /.-) : $date_valide ?";
var_dump($verifier($date_valide, 'date')); var_dump($verifier($date_valide, 'date'));
echo "Date JJ/MM/AAAA : $date_non_valide ?"; echo "Date JJ/MM/AAAA : $date_non_valide ?";
var_dump($verifier($date_non_valide, 'date')); 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> </pre>
......
...@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
*/ */
function verifier_date_dist($valeur, $options=array()){ function verifier_date_dist($valeur, $options=array()){
$erreur = _T('verifier:erreur_date'); $erreur = _T('verifier:erreur_date_format');
$ok = ''; $ok = '';
// On tolère différents séparateurs // On tolère différents séparateurs
$valeur = preg_replace("#\.|/| #i",'-',$valeur); $valeur = preg_replace("#\.|/| #i",'-',$valeur);
...@@ -24,7 +24,9 @@ function verifier_date_dist($valeur, $options=array()){ ...@@ -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; 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) // 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); 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; return $ok;
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter