SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 284 visiteurs en ce moment

Accueil > Outils pour plugins > Vérifier > Vérifier

Vérifier

27 mai 2011 – par RastaPopoulos – 17 commentaires

21 votes

Une API générique pour vérifier une valeur.

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 !

  1. // On charge la fonction centrale
  2. $verifier = charger_fonction('verifier', 'inc/');
  3.  
  4. // On l'utilise
  5. $verifier($valeur, $type_de_test, $options_enventuelles);
  6.  
  7. // Concrètement
  8. $valeur_test = 50;
  9. $erreur = $verifier($valeur_test, 'entier'); // C'est bon ! $erreur = ""
  10. $erreur = $verifier($valeur_test, 'entier', array('min'=>100)); // C'est pas bon ! $erreur = "Une explication de l'erreur"

Télécharger

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.

  1. function verifier_truc_dist($valeur, $options=array()){
  2. // Je fais des tests et c'est bon
  3. if ($valeur == 'ok')
  4. return '';
  5. // Et si c'est pas bon
  6. else
  7. // J'explique pourquoi
  8. return _T('une_explication');
  9. }

Télécharger

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 !

  1. $saisies = array(
  2. 'saisie' => 'input',
  3. 'options' => array(
  4. 'nom' => 'test',
  5. 'label' => 'Un nombre entre 100 et 500',
  6. 'obligatoire' => 'oui'
  7. ),
  8. 'verifier' => array(
  9. 'type' => 'entier',
  10. 'options' => array(
  11. 'min' => 100,
  12. 'max' => 500
  13. )
  14. )
  15. ),
  16. );
  17.  
  18. include_spip('inc/saisies');
  19. $erreurs = saisies_verifier($saisies); // Et hop pour le verifier() de CVT !

Télécharger

Voir en ligne : http://plugins.spip.net/verifier

Dernière modification de cette page le 10 décembre 2015

Retour en haut de la page

Vos commentaires

  • Le 10 décembre 2015 à 11:03, par tcharlss En réponse à : Vérifier

    Il me semble que dans l’exemple de code (« Montrez moi le code ! »), si on fait charger_fonction(), du coup il n’y a pas besoin de include_spip() non ?

    Répondre à ce message

  • Le 31 décembre 2013 à 11:03, par Francois Deplaine En réponse à : Vérifier

    Bonjour

    Il y a une chose qui bloque pour la création du projet : c’est l’utilisation des champs date

    Date de démarrage
    30/12/2013
    Le format de la date n’est pas accepté.
    Date de démarrage du projet
    Afficher le calendrier

    Date livraison prévue
    31/01/2014
    Le format de la date n’est pas accepté.
    Date à laquelle le projet doit être livré
    Afficher le calendrier

    Date livraison effective
    28/02/2014
    Le format de la date n’est pas accepté.
    Date de livraison effective du projet
    Afficher le calendrier

    Que l’on rentre les différentes dates, de façon manuelle, ou avec les deux calendriers, il affiche l’erreur ci-dessus

    Cordialement,

    • Le 7 janvier 2014 à 10:35, par YannX En réponse à : Vérifier

      Bonjour,

      J’ai le meme type de souci avec une « erreur technique »,
      « fabriquée » parce l’API editer_objet_traiter relit le résultat ecrit,
      et compare avec la chaine d’origine (ce qui pose problème sur certains formats de date).

      La solution serait d’utiliser l’option « normaliser » de la verification de date,
      mais je n’ai aps encore eu de succes..

      Bloavez mad
      YannX

    • Le 9 janvier 2014 à 13:59, par Teddy Payet En réponse à : Vérifier

      Bonjour,

      Il semble que le commit http://zone.spip.org/trac/spip-zone/changeset/78658/_plugins_/verifier ait introduit ce bug sur la création des dates.

      On a le soucis dans le cas de projet, mais aussi le plugin inscription 3 (date de naissance).

      A la lecture du commit, on pourrait tester ceci ici http://zone.spip.org/trac/spip-zone/browser/_plugins_/verifier/verifier/date.php#L108 :

      if (!$valeur or (is_array($valeur) and !$valeur['date'] and !$valeur['heure'])) {
      return $defaut;
      }

      Code sorti brut de décoffrage. Je n’ai pas ce qu’il faut sous la min pour tester ceci.

    • Le 9 janvier 2014 à 15:44, par Francois Deplaine En réponse à : Vérifier

      Bonjour,

      J’ai fait la modification. Cela n’a rien changé.

      Sur la page ajout de projet il semble y avoir un souci avec la taille des inputs. C’est surement pour cela que cela renvoi une erreur

      Avec la flèche qui ouvre un petit calendrier, si j’entre par exemple les dates suivantes pour les trois onglets

      Date de démarrage
      Date de démarrage du projet
      j’ai ceci affiché avant :
      jj/mm/aaaa
      Avec le calendrier, je clique sur la date du 9 janvier 09/01/2014
      A l’écran le calendrier retourne ceci dans la fenêtre input : 9/01/2014

      Date livraison prévue
      Date à laquelle le projet doit être livré
      j’ai ceci affiché avant :
      jj/mm/aaaa
      Avec le calendrier, je clique sur la date du 24 janvier 24/01/2014
      A l’écran le calendrier retourne ceci dans la fenêtre input : 4/01/2014

      Date livraison effective
      Date de livraison effective du projet
      j’ai ceci affiché avant :
      jj/mm/aaaa
      Avec le calendrier, je clique sur la date du 4 février 04/02/2014
      A l’écran le calendrier retourne ceci dans la fenêtre input : 4/02/2014

      Et cela renvoi cette erreur :
      Le format de la date n’est pas accepté.

    Répondre à ce message

  • Le 10 octobre 2013 à 10:58, par triton En réponse à : Vérifier

    Bonjour,
    j utilise ce plugin pour la premiere fois, le concept est chouette !
    Par contre, sur la version 1.0.3 - test, la verif « verifier_telephone_dist » ne peut pas renvoyer autre chose que ’vide’ (cad que le champ est correcte), non ?
    triton

    Répondre à ce message

  • Le 7 janvier 2012 à 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 2012 à 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 2012 à 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 2012 à 19:44, par Maïeul En réponse à : Vérifier

      t’a pas vérifié les droits de lectures/écritures ?

    • Le 7 janvier 2012 à 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 2012 à 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 2012 à 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

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Adaptive Images

    15 novembre 2013 – 66 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Métas

    8 août 2009 – 50 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

  • Brownie

    6 juillet 2012 – 43 commentaires

    Brownie est une adaptation pour Zpip du thème du même nom initialement développé par Egrappler.com. Présentation Brownie est un thème Responsive à deux colonnes. La démonstration ci-dessous utilise la version 2.0.0 de Brownie, la dist de SPIP3 (...)

  • Métas +

    3 décembre – 13 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 785 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

Ça spipe par là