Introduction
Ce plugin est un outil pour développeur. Il propose une API basée sur une fonction centrale verifier($valeur, $type, $options) permettant de vérifier qu’une valeur correspond à un critère.
Pour cela, l’API se base sur le même principe d’extension que la fonction autoriser() de SPIP : on peut écrire autant de fonctions qu’on veut, qui définissent un « type » de vérification particulier.
Retours
La fonction retourne une chaîne vide si la vérification se passe bien. Et retourne une chaîne expliquant l’erreur si ce n’est pas concluant.
On peut donc utiliser le retour de cette fonction directement comme information dans la fonction verifier() d’un formulaire CVT.
Montrez moi le code !
- // On charge la fonction centrale
- $verifier = charger_fonction('verifier', 'inc/');
- // On l'utilise
- $verifier($valeur, $type_de_test, $options_enventuelles);
- // Concrètement
- $valeur_test = 50;
- $erreur = $verifier($valeur_test, 'entier'); // C'est bon ! $erreur = ""
- $erreur = $verifier($valeur_test, 'entier', array('min'=>100)); // C'est pas bon ! $erreur = "Une explication de l'erreur"
Quelles sont les possibilités ?
Vous trouverez la liste des vérifications actuellement disponibles par ici : Références des vérifications.
Ajouter des vérifications
Pour ajouter une vérification, il faut écrire un fichier verifier/truc.php avec dedans une fonction verifier_truc_dist($valeur, $options=array()) et retourner une chaîne vide ou non, comme décrit précédemment.
- // Je fais des tests et c'est bon
- if ($valeur == 'ok')
- return '';
- // Et si c'est pas bon
- else
- // J'explique pourquoi
- return _T('une_explication');
- }
Utilisation auto-magique avec le plugin Saisies
Lorsqu’on décrit une liste de saisies sous forme de tableau normalisé, il est possible de déclarer une vérification à faire pour une saisie. On peut alors passer la liste entière dans la fonction saisies_verifier($saisies) et... magie !
- 'saisie' => 'input',
- 'nom' => 'test',
- 'label' => 'Un nombre entre 100 et 500',
- 'obligatoire' => 'oui'
- ),
- 'type' => 'entier',
- 'min' => 100,
- 'max' => 500
- )
- )
- ),
- );
- include_spip('inc/saisies');
- $erreurs = saisies_verifier($saisies); // Et hop pour le verifier() de CVT !



Télécharger
Vos commentaires
# Le 7 janvier à 18:04, par benoloas
En réponse à : Vérifier
C’est désespérément le plugin qu’il me faut, mais... il n’apparait pas dans la liste des plugins... j’ai vidé le cache, télécharger la dernière version de Vérifier, éliminé tous les autres plugins, installé la dernière version SPIP, mais non, il reste invisible au back-office. Je ne vois plus quoi faire... quelqu’un verrait-il une solution ?
# Le 7 janvier à 18:12, par Maïeul
En réponse à : Vérifier
heu à quelle endroit n’apparaît il pas ? dans la liste des plugins à récupérer ou dans la liste des plugins a activer ?
# Le 7 janvier à 19:37, par benoloas
En réponse à : Vérifier
Dans la « Liste des plugins », qui permet visualiser tous les plugins actifs et inactifs
# Le 7 janvier à 19:44, par Maïeul
En réponse à : Vérifier
t’a pas vérifié les droits de lectures/écritures ?
# Le 7 janvier à 20:33, par benoloas
En réponse à : Vérifier
Non, et j’avoue ne m’être jamais occupé de cette partie là (car enfin, tous les autres plugins apparaissent normalement...) Je suis en local avec Wamp (sous XP), est-ce qu’il y aurait des paramètres à modifier de ce côté ?
Merci pour le coup de pouce
# Le 7 janvier à 20:38, par Maïeul
En réponse à : Vérifier
vérifie que c’est bien le même réglage que partout. Chez moi en local pas de pb. Si non, je ne sais pas :(
# Le 7 janvier à 20:58, par benoloas
En réponse à : Vérifier
Maïeul, j’ai rebooté, vidé tous les caches, et le plugin est revenu... allez savoir ;-)
Merci pour l’aide, et pour le plugin !
Répondre à ce message
# Le 23 juillet 2011 à 15:16, par gilcot
En réponse à : Vérifier
Bien que j’adhère en général à la logique de brique/modules sur lesquels les plugins peuvent se brancher (vive les pipelines au passage), et que je comprends qu’on puisse avoir besoin uniquement de la vérification ; je pense que verifier et saisies devraient fusionner pour fournir une API unique dédiée aux formulaires pour les développeurs.
Au passage, cela permettra de fournir nativement (de base) les nouveaux champs HTML5 (qui seront souvent des Input classiques avec du JS côté client pour assister l’utilisateur et une vérification automatique par SPIP/l’API en se basant sur le type : d’un côté on dégrade bien avec les anciens navigateurs et garde quand même le contrôle quand JS est désactivé) : entier, montant, date, email et url aussi je crois, etc. Et de la même façon on pourra créer des champs plus riches aussi... (siren_siret, numero, numero_fr, numero_uk, cp_fr, cp_uk, etc.)
# Le 23 juillet 2011 à 15:26, par RastaPopoulos
En réponse à : Vérifier
Vérifier est une API de vérification de valeurs. Ça peut être pour des formulaires mais pas forcément. On peut vouloir vérifier des choses venant d’un autre site ou venant d’une API (genre Atompub ou XML/RPC).
# Le 23 juillet 2011 à 17:09, par gilcot
En réponse à : Vérifier
Ah ok.. J’avais pas pensé à ce cas (très pertinent RPC) : le contexte CVT a masqué ma vision des choses.
Mais par rapport à mon idée initiale, il faudra voir les statistiques d’utilisation de saisie seule et saisie+verifier (si ce dernier cas est courant, saisie pourrait carrément nécessiter verfier et on reste dans la logique que je préconise tout en offrant une fonctionnalité indépendante pour d’autres usages...)
Répondre à ce message