Crayons : validation des saisies - commentairesCrayons : validation des saisies2017-01-17T15:55:29Zhttps://files.spip.org/Crayons-validation-des-saisies#comment4905832017-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 saisies2017-01-17T15:53:08Zhttps://files.spip.org/Crayons-validation-des-saisies#comment4905822017-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 saisies2014-07-18T04:18:02Zhttps://files.spip.org/Crayons-validation-des-saisies#comment4762372014-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 saisies2011-07-27T22:51:04Zhttps://files.spip.org/Crayons-validation-des-saisies#comment4481942011-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 saisies2011-07-27T22:03:27Zhttps://files.spip.org/Crayons-validation-des-saisies#comment4481932011-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:50Zhttps://files.spip.org/Crayons-validation-des-saisies#comment4265372010-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>