Skip to content
Extraits de code Groupes Projets
Valider 1cb69dcc rédigé par xdjuj@apsulis.com's avatar xdjuj@apsulis.com
Parcourir les fichiers

- Plus tolérant sur les séparateurs de dates

- Longueur de chaine EGALE à une valeur
parent 3c5c3821
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -16,6 +16,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'erreur_siren' => 'Le numéro de SIREN n\'est pas valide.',
'erreur_siret' => 'Le numéro de SIRET n\'est pas valide.',
'erreur_taille_entre' => 'La valeur doit comprendre entre @min@ et @max@ caractères.',
'erreur_taille_egal' => 'La valeur doit comprendre exactement @egal@ caractères.',
'erreur_taille_max' => 'La valeur doit comprendre au maximum @max@ caractères.',
'erreur_taille_min' => 'La valeur doit comprendre au minimum @min@ caractères.',
'erreur_telephone' => "Le numéro n'est pas valide.",
......
......@@ -59,6 +59,10 @@ echo "$un_autre_chaine 5 caractères max ?";
var_dump(verifier($un_autre_chaine, 'taille', array('max'=>5)));
echo "$un_autre_chaine 4 caractères mini ?";
var_dump(verifier($un_autre_chaine, 'taille', array('min'=>4)));
echo "$une_chaine de 3 caractères ?";
var_dump(verifier($une_chaine, 'taille', array('egal'=>3)));
echo "$un_autre_chaine de 3 caractères ?";
var_dump(verifier($un_autre_chaine, 'taille', array('egal'=>3)));
?>
</pre>
......
......@@ -4,7 +4,7 @@
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Une date au format JJ/MM/AAAA
* Une date au format JJ/MM/AAAA (avec séparateurs souples : espace / - .)
* TODO : introduire via les options le FORMAT de la date, pour accepter différentes écritures
* On pourrait faire mieux, genre vérifier les jours en fonction du mois
* Mais c'est pas très important, on reste simple
......@@ -13,11 +13,13 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
function verifier_date_dist($valeur, $options=array()){
$erreur = _T('verifier:erreur_date');
$ok = '';
// On tolère différents séparateurs
$valeur = ereg_replace("\.|/| ",'-',$valeur);
// On vérifie la validité du format
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)
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 °_°
return $ok;
......
......@@ -17,12 +17,17 @@ function verifier_taille_dist($valeur, $options=array()){
if (isset($options['max'])){
$ok = ($ok and (strlen($valeur) <= $options['max']));
}
if (isset($options['egal'])){
$ok = ($ok and (strlen($valeur) == $options['egal']));
}
if (!$ok){
if (isset($options['min']) and isset($options['max']))
$erreur = _T('verifier:erreur_taille_entre', $options);
elseif (isset($options['max']))
$erreur = _T('verifier:erreur_taille_max', $options);
elseif (isset($options['egal']))
$erreur = _T('verifier:erreur_taille_egal', $options);
else
$erreur = _T('verifier:erreur_taille_min', $options);
}
......
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