SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 127 visiteurs en ce moment

Accueil > Rédaction > Édition publique > Crayons > Crayons : validation des saisies

Crayons : validation des saisies

24 octobre 2009 – par Alexis Pellicier – commentaires

3 votes

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Avec la révision 32274 un système de validation de saisie est introduit dans le plugin crayons.

Avant de mettre à jour la base de donnée la fonction verifier_type_modele($modifs) est chargée si présente.

Le modèle peut être un champ ou un contrôleur regroupant plusieurs champs.

Par exemple pour vérifier la saisie des crayons titres il faudra créer une fonction
verifier_article_titre()

Pour une base distante : verifier_basedistante__table_modele()

Si la fonction de vérification détecte une saisie invalide, elle renvoie un message et les caractères invalides. Le crayons refuse alors la mise à jour de la base de donnée, applique la classe crayon-invalide au champ, affiche les caractères invalides et le message.

Exemple de fonction qui interdit la saisie de chiffre dans le champ nom de la table profs de la base educ :

$modifs= array ( 0 =>
 array (
   0 => 'educ__prof',        //basedistante__table
   1 => 'nom',        //champ
   2 => '6',        //id_prof
   3 =>
   array (
     'nom' => 'nommodifier',
   ),
   4 => 'wid4ae01b0a85b2a7_70591198',
 )

function verifier_educ__prof_nom($modifs) {
        $reg='/[\d]+/';
        $r=preg_match_all($reg,$modifs[0][3]['nom'],$matches);
        if(  $r>0 ) {
           $invalides[$modifs[0][4].'_nom']['msg']=_T('chiffres_minuscules_interdits');
           $invalides[$modifs[0][4].'_nom']['retour']=implode(',',$matches[0]);
         }
        return $invalides;
}

Dernière modification de cette page le 15 février 2011

Retour en haut de la page

Vos commentaires

  • Le 17 janvier 2017 à 16:55, par Peetdu En réponse à : Crayons : validation des saisies

    Petite trouvaille de Pierrox : il existe un pipeline « crayons_verifier » qui permet de modifier la valeur soumise, si une valeur est retournée dans normaliser.

    Voir https://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php?rev=100962#L138

    Répondre à ce message

  • Le 16 février 2010 à 21:52, par davux En réponse à : Caractères invalides ?

    Est-ce qu’il serait possible de fournir un exemple plus simple du tableau que peut renvoyer la fonction « verifier » ? Ou alors la structure du tableau ?

    Chouette nouvelle en tout cas :)

    • Le 28 juillet 2011 à 00:03, par severo En réponse à : Crayons : validation des saisies

      La fonction doit s’appeler

      1. function verifier_chat_nom($modifs)

      si le fichier controleur s’appelle chat_nom.html ou plus généralement si le crayon modifie le champ nom de l’objet chat.

      Si on utilise le crayon hyperlien pour modifier lien_nom et lien_url dans les breves, par exemple, la fonction sera :

      1. function verifier_breve_hyperlien($modifs)

      Le paramètre $modifs contient une seule cellule qui contient elle-même 5 cellules :

      • $modifs[0][0] : le nom de l’objet (ex : chat ou breve)
      • $modifs[0][1] : le nom du crayon (ex : nom ou hyperlien)
      • $modifs[0][2] : index de l’objet (ex : 12 - valeur de id_chat ou id_breve)
      • $modifs[0][3] : nouvelle valeur à vérifier (ex : array('nom' => ''Efia",) ou dans le cas de hyperlien : array('lien_titre'=>'Google','lien_url'=>'http://www.google.fr',)
      • $modifs[0][4] : un identifiant bizarre (ex : wid4e30852faf2683_70025054)

      Donc, pour résumer :

      • dans la fonction verifier_chat_nom :
        1.   0 =>
        2.   array (
        3.     0 => 'chat',
        4.     1 => 'nom',
        5.     2 => '12',
        6.     3 =>
        7.     array (
        8.       'nom' => 'Efia',
        9.     ),
        10.     4 => 'wid4e30852faf2683_70025054',
        11.   ),
        12. )

        Télécharger

      • dans la fonction verifier_breve_hyperlien :
        1.   0 =>
        2.   array (
        3.     0 => 'breve',
        4.     1 => 'hyperlien',
        5.     2 => '12',
        6.     3 =>
        7.     array (
        8.       'lien_titre' => 'Google',
        9.       'lien_url' => 'http://www.google.fr',
        10.     ),
        11.     4 => 'wid4e30852faf2683_70025054',
        12.   ),
        13. )

        Télécharger

      Ensuite pour le tableau de retour, si on se fie au code des crayons (action/crayons_store.php, fonction crayons_store) :

      1.     /* aiguillage pour verification de la saisie
      2.     Pour traitement ulterieur les fonctions de verifications doivent renvoyer $invalides :
      3.     $invalides[wid_champ]['msg'] -> message de saisie invalide
      4.     $invalides[wid_champ]['retour'] -> caracteres invalides */

      Télécharger

      Il faut donc rendre (si on veut signaler une erreur) un tableau $invalides non vide :

      1.     $crayon=$modifs[0][2]
      2.     $wid=$modifs[0][4]
      3.     $invalides[$wid.'_'.$crayon]['retour']='premier message';
      4.     $invalides[$wid.'_'.$crayon]['msg']='deuxieme message;
      5.    return $invalides;

      Télécharger

      Le résultat est un cadre rouge, sous le crayon, qui contient « premier message deuxieme message ».

    • Le 28 juillet 2011 à 00:51, par severo En réponse à : Crayons : validation des saisies

      Et d’après mes essais, il faut définir cette fonction dans un fichier _options.php :

      • config/mes_options.php
      • pour un plugin : prefixe_options.php

      Ca ne marche pas en la définissant dans un fichier _fonctions.php.

    • Le 17 janvier 2017 à 16:53, par Peetdu En réponse à : Crayons : validation des saisies

      Petite trouvaille de Pierrox : il existe un pipeline « crayons_verifier » qui permet de modifier la valeur soumise, si une valeur est retournée dans normaliser.

      Voir https://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php?rev=100962#L138

    Répondre à ce message

  • Le 18 juillet 2014 à 06:18, par mj En réponse à : Crayons : validation des saisies

    Bonjour

    Je cherche à réaliser un couple Controleur/vue pour une DATE (champ : date_app)

    La date étant entrée « à la française » elle nécessite un traitement avant stockage.
    Ma fonction verifier_approche_date_app est appelée, mais sans la valeur modifiée. que puis-je essayer ?

    Merci d’avance

    Michel

    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

  • Personnalisation graphique du squelette SoyezCréateurs

    19 août 2009 – 110 commentaires

    Il est possible de personnaliser l’affichage du squelette SoyezCréateurs de manière plus ou moins profonde. Changement dans les couleurs via CFG La page de CFG des couleurs de SoyezCreateurs : ecrire/ ?exec=cfg&cfg=soyezcreateurs_couleurs (...)

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans e corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)

  • Intégrer un calcul d’itinéraire dans une page

    9 mai – commentaires

    Ce modèle SPIP permet d’intégrer un calcul d’itinéraire dans vos articles. Attention, cet outil nécessite une clef d’API Google Maps ! Clef d’API Google Maps Muni de votre compte gmail, rendez-vous sur Obtenir une clé/authentification. Vous (...)

  • odt2spip v3+ : création d’articles à partir de fichiers textes

    11 octobre 2017 – commentaires

    Ce plugin permet de générer des articles SPIP à partir du téléversement de fichiers au format .ODT (OpenOffice ou LibreOffice Writer). Il gère la majorité des raccourcis typographiques, détecte les différents niveaux de titre et fait l’intégration des (...)

  • ORR v2

    21 mai 2013 – 102 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)