Crayons : validation des saisies - commentaires Crayons : validation des saisies 2017-01-17T15:55:29Z https://files.spip.org/Crayons-validation-des-saisies#comment490583 2017-01-17T15:55:29Z <p>Petite trouvaille de Pierrox : il existe un pipeline «<small class="fine d-inline"> </small>crayons_verifier<small class="fine d-inline"> </small>» qui permet de modifier la valeur soumise, si une valeur est retournée dans normaliser.</p> <p>Voir <a href="https://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php?rev=100962#L138" class="spip_url spip_out auto" rel="nofollow external">https://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php?rev=100962#L138</a></p> Crayons : validation des saisies 2017-01-17T15:53:08Z https://files.spip.org/Crayons-validation-des-saisies#comment490582 2017-01-17T15:53:08Z <p>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.</p> <p>Voir <a href="https://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php?rev=100962#L138" class="spip_url spip_out auto" rel="nofollow external">https://zone.spip.org/trac/spip-zone/browser/_plugins_/crayons/action/crayons_store.php?rev=100962#L138</a></p> Crayons : validation des saisies 2014-07-18T04:18:02Z https://files.spip.org/Crayons-validation-des-saisies#comment476237 2014-07-18T04:18:02Z <p>Bonjour</p> <p>Je cherche à réaliser un couple Controleur/vue pour une DATE (champ : date_app)</p> <p>La date étant entrée « à la française » elle nécessite un traitement avant stockage.<br class="autobr"> Ma fonction verifier_approche_date_app est appelée, mais sans la valeur modifiée. que puis-je essayer<small class="fine d-inline"> </small>?</p> <p>Merci d'avance</p> <p>Michel</p> Crayons : validation des saisies 2011-07-27T22:51:04Z https://files.spip.org/Crayons-validation-des-saisies#comment448194 2011-07-27T22:51:04Z <p>Et d'après mes essais, il faut définir cette fonction dans un fichier <code class="spip_code spip_code_inline" dir="ltr">_options.php</code> :</p> <ul class="spip"><li> <code class="spip_code spip_code_inline" dir="ltr">config/mes_options.php</code></li><li> pour un plugin : <code class="spip_code spip_code_inline" dir="ltr">prefixe_options.php</code></li></ul> <p>Ca ne marche pas en la définissant dans un fichier <code class="spip_code spip_code_inline" dir="ltr">_fonctions.php</code>.</p> Crayons : validation des saisies 2011-07-27T22:03:27Z https://files.spip.org/Crayons-validation-des-saisies#comment448193 2011-07-27T22:03:27Z <p>La fonction doit s'appeler</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function verifier_chat_nom($modifs)</code></pre></div> <p>si le fichier controleur s'appelle <code class="spip_code spip_code_inline" dir="ltr">chat_nom.html</code> ou plus généralement si le crayon modifie le champ <code class="spip_code spip_code_inline" dir="ltr">nom</code> de l'objet <code class="spip_code spip_code_inline" dir="ltr">chat</code>.</p> <p>Si on utilise le crayon <code class="spip_code spip_code_inline" dir="ltr">hyperlien</code> pour modifier <code class="spip_code spip_code_inline" dir="ltr">lien_nom</code> et <code class="spip_code spip_code_inline" dir="ltr">lien_url</code> dans les breves, par exemple, la fonction sera :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function verifier_breve_hyperlien($modifs)</code></pre></div> <p>Le paramètre <code class="spip_code spip_code_inline" dir="ltr">$modifs</code> contient une seule cellule qui contient elle-même 5 cellules :</p> <ul class="spip"><li> <code class="spip_code spip_code_inline" dir="ltr">$modifs[0][0]</code> : le nom de l'objet (ex : <code class="spip_code spip_code_inline" dir="ltr">chat</code> ou <code class="spip_code spip_code_inline" dir="ltr">breve</code>)</li><li> <code class="spip_code spip_code_inline" dir="ltr">$modifs[0][1]</code> : le nom du crayon (ex : <code class="spip_code spip_code_inline" dir="ltr">nom</code> ou <code class="spip_code spip_code_inline" dir="ltr">hyperlien</code>)</li><li> <code class="spip_code spip_code_inline" dir="ltr">$modifs[0][2]</code> : index de l'objet (ex : <code class="spip_code spip_code_inline" dir="ltr">12</code> - valeur de <code class="spip_code spip_code_inline" dir="ltr">id_chat</code> ou <code class="spip_code spip_code_inline" dir="ltr">id_breve</code>)</li><li> <code class="spip_code spip_code_inline" dir="ltr">$modifs[0][3]</code> : nouvelle valeur à vérifier (ex : <code class="spip_code spip_code_inline" dir="ltr">array('nom' => ''Efia",)</code> ou dans le cas de <code class="spip_code spip_code_inline" dir="ltr">hyperlien</code> : <code class="spip_code spip_code_inline" dir="ltr">array('lien_titre'=>'Google','lien_url'=>'http://www.google.fr',)</code></li><li> <code class="spip_code spip_code_inline" dir="ltr">$modifs[0][4]</code> : un identifiant bizarre (ex : <code class="spip_code spip_code_inline" dir="ltr">wid4e30852faf2683_70025054</code>)</li></ul> <p>Donc, pour résumer :</p> <ul class="spip"><li> dans la fonction <code class="spip_code spip_code_inline" dir="ltr">verifier_chat_nom</code> : <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code> 0 => array ( 0 => 'chat', 1 => 'nom', 2 => '12', 3 => array ( 'nom' => 'Efia', ), 4 => 'wid4e30852faf2683_70025054', ), )</code></pre></div></li><li> dans la fonction <code class="spip_code spip_code_inline" dir="ltr">verifier_breve_hyperlien</code> : <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code> 0 => array ( 0 => 'breve', 1 => 'hyperlien', 2 => '12', 3 => array ( 'lien_titre' => 'Google', 'lien_url' => 'http://www.google.fr', ), 4 => 'wid4e30852faf2683_70025054', ), )</code></pre></div></li></ul> <p>Ensuite pour le tableau de retour, si on se fie au code des crayons (<code class="spip_code spip_code_inline" dir="ltr">action/crayons_store.php</code>, fonction <code class="spip_code spip_code_inline" dir="ltr">crayons_store</code>) :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code> /* aiguillage pour verification de la saisie Pour traitement ulterieur les fonctions de verifications doivent renvoyer $invalides : $invalides[wid_champ]['msg'] -> message de saisie invalide $invalides[wid_champ]['retour'] -> caracteres invalides */</code></pre></div> <p>Il faut donc rendre (si on veut signaler une erreur) un tableau $invalides non vide :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code> $crayon=$modifs[0][2] $wid=$modifs[0][4] $invalides[$wid.'_'.$crayon]['retour']='premier message'; $invalides[$wid.'_'.$crayon]['msg']='deuxieme message; return $invalides;</code></pre></div> <p>Le résultat est un cadre rouge, sous le crayon, qui contient « premier message deuxieme message ».</p> Caractères invalides<small class="fine d-inline"> </small>? 2010-02-16T20:52:50Z https://files.spip.org/Crayons-validation-des-saisies#comment426537 2010-02-16T20:52:50Z <p>Est-ce qu'il serait possible de fournir un exemple plus simple du tableau que peut renvoyer la fonction « verifier »<small class="fine d-inline"> </small>? Ou alors la structure du tableau<small class="fine d-inline"> </small>?</p> <p>Chouette nouvelle en tout cas :)</p>