From e77047fcf62f407ddb19f580f5e6744cd0b89a78 Mon Sep 17 00:00:00 2001 From: "rastapopoulos@spip.org" <> Date: Thu, 11 Feb 2010 22:44:08 +0000 Subject: [PATCH] =?UTF-8?q?Une=20fonction=20g=C3=A9n=C3=A9rique=20pour=20v?= =?UTF-8?q?=C3=A9rifier=20d'un=20coup=20un=20formulaire=20complet=20d?= =?UTF-8?q?=C3=A9crit=20avec=20l'API=20de=20Saisies.=20=C3=87a=20retourne?= =?UTF-8?q?=20le=20tableau=20d'erreurs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/verifier.php | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/inc/verifier.php b/inc/verifier.php index 786847a..231b1ad 100644 --- a/inc/verifier.php +++ b/inc/verifier.php @@ -40,4 +40,33 @@ function verifier($valeur, $type, $options=null){ return $erreur; } +/* + * Vérifier tout un formulaire tel que décrit avec les Saisies + * @param array $formulaire Le contenu d'un formulaire décrit dans un tableau de Saisies + * @return array Retourne un tableau d'erreurs + */ +function verifier_saisies($formulaire){ + $erreurs = array(); + + $saisies = saisies_recuperer_saisies($formulaire); + foreach ($saisies as $saisie){ + $obligatoire = $saisie['options']['obligatoire']; + $champ = $saisie['options']['nom']; + $verifier = $saisie['verifier']; + + // On regarde d'abord si le champ est obligatoire + if ($obligatoire and $obligatoire != 'non' and ($valeur=_request($champ)) == '') + $erreurs[$champ] = _T('info_obligatoire'); + + // On continue seulement si ya pas d'erreur d'obligation et qu'il y a une demande de verif + if (!$erreurs[$champ] and is_array($verifier)){ + // Si le champ n'est pas valide par rapport au test demandé, on ajoute l'erreur + if ($erreur_eventuelle = verifier($valeur, $verifier['type'], $verifier['options'])) + $erreurs[$champ] = $erreur_eventuelle; + } + } + + return $erreurs; +} + ?> -- GitLab