Vérifier - commentaires Vérifier 2021-09-16T07:40:33Z https://contrib.spip.net/Verifier#comment509196 2021-09-16T07:40:33Z <p>Non, pas du tout, les #SAISIE ne sont associés à aucun PHP. Ça génère des champs « name=truc » en HTML, et ensuite c'est l'API « CVT Configurer » du core qui lit ça, et qui enregistre les valeurs en meta, sans aucun rapport avec Saisies. Ce qu'il lit c'est juste les « name=truc » finaux.</p> Vérifier 2021-09-15T20:23:29Z https://contrib.spip.net/Verifier#comment509194 2021-09-15T20:23:29Z <p>Ah Ok du coup j'ai créé un ticket pour ics.<br class="autobr"> Mais les #SAISIES sont bien associées à du php quelque part puisque ça s'enregistre en config. S'il y a un traiter() automagique, ne pourrait il pas y avoir un verifier()<small class="fine d-inline"> </small>?</p> Vérifier 2021-09-15T20:06:44Z https://contrib.spip.net/Verifier#comment509193 2021-09-15T20:06:44Z <p>Nope, ça n'a aucun sens, puisque #SAISIE c'est juste un #INCLURE, un squelette HTML. Alors que verifier c'est du PHP.</p> <p>La doc (ici ou sur Saisies) explique bien : c'est dans une description en tableau PHP.</p> Vérifier 2021-09-15T20:02:17Z https://contrib.spip.net/Verifier#comment509192 2021-09-15T20:02:17Z <p>Coucou bonjour, <br class="autobr"> Peut on faire appel à des vérifications dans les paramètres d'une <code class="spip_code spip_code_inline" dir="ltr">#SAISIE</code> dans un squelette<small class="fine d-inline"> </small>?<br class="autobr"> Je trouve pas de doc mais ça été fait dans le plugin ICS par exemple : <a href="https://git.spip.net/spip-contrib-extensions/import_ics/src/branch/master/formulaires/editer_almanach.html#L19" class="spip_url spip_out auto" rel="nofollow external">https://git.spip.net/spip-contrib-extensions/import_ics/src/branch/master/formulaires/editer_almanach.html#L19</a> ... sauf que ça ne semble pas marcher quand j'essaie avec :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#SAISIE{input,numero, label=Numéro, verifier=#ARRAY{type,entier} })]</code></pre></div> <p>dans un formulaire de configuration défini par son HTML seul.</p> Vérifier 2021-07-20T10:55:58Z https://contrib.spip.net/Verifier#comment508799 2021-07-20T10:55:58Z <p>Merci Maïeul pour ta réponse.</p> Vérifier 2021-07-20T10:09:32Z https://contrib.spip.net/Verifier#comment508798 2021-07-20T10:09:32Z <p>Non, il n'y a pas de mecanisme pour permettre plusieurs verifications. Avec ta syntaxe là seule la dernière verification sera effectuée, car c'est la seule qui restera dans le tableau.</p> <p>1. Effectivement je conseille de créer une verification qui effectue elle même plusieurs verif<br class="autobr"> 2. Cela étant on pourrait imaginer d'étendre la syntaxe des verif automagique de saisies, à voir comment cependant (notamment pour ne pas casser le fonctionnement existant)</p> Vérifier 2021-07-20T10:02:44Z https://contrib.spip.net/Verifier#comment508797 2021-07-20T10:02:44Z <p>Est-ce possible de faire deux vérifications successives, en utilisation auto-magique avec le plugin Saisies (une liste de saisies sous forme de tableau normalisé), pour une même saisie<small class="fine d-inline"> </small>?</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>$saisies = array( array( 'saisie' => 'input', 'options' => array( 'nom' => 'test', 'label' => 'Un nombre pair entre 100 et 500', 'obligatoire' => 'oui' ), 'verifier' => array( 'type' => 'entier', 'options' => array( 'min' => 100, 'max' => 500 ) ) 'verifier' => array( 'type' => 'nombre_pair', // vérification créée pour le plaisir 'options' => array( 'suggestion' => 'superieure', ) ) ), );</code></pre></div> <p>Il semble que la succession de ces déclarations rendent inopérantes toutes les vérifications.</p> <p>La solution que je vois serait de créer une vérification (en fonction) qui vérifie l'ensemble des vérifications souhaitées, mais avant de le faire, je souhaite m'assurer que l'on ne puisse pas simplement déclarer successivement une liste de vérification sous forme de tableau normalisé.</p> <p>Merci par avance pour votre aide.</p> Vérifier 2021-05-11T14:19:43Z https://contrib.spip.net/Verifier#comment508371 2021-05-11T14:19:43Z <p>corriger sur git, je releaserai ce week-end (histoire de pas releaser tous les jours)</p> Vérifier 2021-05-11T14:11:05Z https://contrib.spip.net/Verifier#comment508370 2021-05-11T14:11:05Z <p>Bonjour,<br class="autobr"> J'ai encore un site en php 5.3.3 donc spip 3.1 et j'ai une erreur fatale sur le fichier verifier/telephone.php.</p> <p>La « short syntax arrays » est utilisée à 2 endroits dans ce fichier :<br class="autobr"> ligne 109 :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>foreach (['fixe', 'mobile', 'all'] as $format_test) {</code></pre></div> <p>à remplacer par</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>foreach (array('fixe', 'mobile', 'all') as $format_test) {</code></pre></div> <p>et ligne 135 :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>if (!in_array($what, [$format, 'all']) and preg_match($pattern, $tel)){</code></pre></div> <p>à remplacer par</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>if (!in_array($what, array($format, 'all')) and preg_match($pattern, $tel)){</code></pre></div> <p>Merci<small class="fine d-inline"> </small>!</p> Vérifier 2020-06-18T09:52:38Z https://contrib.spip.net/Verifier#comment505764 2020-06-18T09:52:38Z <p>Ah ok, je me disais que ça s'appliquait sur les champs à l'intérieur :)</p> <p>Effectivement, c'est bon sur la saisie input<small class="fine d-inline"> </small>! Pourtant, j'avais essayé ça aussi, mais pas comme il faut sans doute :/</p> <p>Merci en tout cas.</p> Vérifier 2020-06-18T09:47:12Z https://contrib.spip.net/Verifier#comment505763 2020-06-18T09:47:12Z <p>ça n'existe pas une vérification sur une fieldset, ça ne veut rien dire :)</p> Vérifier 2020-06-18T09:25:35Z https://contrib.spip.net/Verifier#comment505762 2020-06-18T09:25:35Z <p>Je dois rater un truc car la vérification ne fonctionne pas.</p> <p>Dans <a href="http://spip.pastebin.fr/63220" class="spip_url spip_out auto" rel="nofollow external">http://spip.pastebin.fr/63220</a> , je peux rentrer n'importe quoi dans mes champs adresse_spotify/adresse_qobuz alors que j'ai une vérification L32 (sur le fieldset contenant les input mais idem si je le mets directement sur les saisies input).</p> Vérifier 2020-06-18T09:09:48Z https://contrib.spip.net/Verifier#comment505761 2020-06-18T09:09:48Z <p>Je ne vois pas de quoi tu parles. Si c'est la déclaration dans les saisies, bah c'est pas du tout toi-même qui fait les vérifications, c'est saisie automatiquement, et c'est censé utiliser saisies_verifier non<small class="fine d-inline"> </small>? Enfin en fait je ne sais pas ce que fait champs extras, mais c'est ce qui utilise les saisies qui lance les vérifications, pas toi, donc bah ya rien à faire.</p> Vérifier 2020-06-18T09:07:00Z https://contrib.spip.net/Verifier#comment505760 2020-06-18T09:07:00Z <p>Salut, je finalise mon mémo <a href='https://contrib.spip.net/Tutoriel-creer-des-champs-extras-depuis-un-plugin' class="spip_in" rel='nofollow'>Tutoriel : créer des champs extras depuis un plugin</a> mais je me rends compte que la vérification ne marche pas parce que je ne charge pas la fonction centrale.</p> <p>Mais je ne vois pas où mettre <code class="spip_code spip_code_inline" dir="ltr">charger_fonction()</code> ou <code class="spip_code spip_code_inline" dir="ltr">include_spip()</code><small class="fine d-inline"> </small>?</p> Vérifier 2017-11-15T07:14:25Z https://contrib.spip.net/Verifier#comment494403 2017-11-15T07:14:25Z <p>Merci pour cette réponse ultra-rapide :-)</p> Vérifier 2017-11-14T22:44:28Z https://contrib.spip.net/Verifier#comment494401 2017-11-14T22:44:28Z <p>C'est dans la doc de CVT :)<br class="autobr"> La fonction verifier retourne un *tableau* des erreurs indexé par le nom de chaque champ ('champtruc' => 'erreur1', etc), et là tu lui mets juste l'éventuel message *d'un* champ, une chaine de caractère donc. Tu dois mettre l'erreur dans $erreurs['nomduchamp'].</p> Vérifier 2017-11-14T22:04:00Z https://contrib.spip.net/Verifier#comment494400 2017-11-14T22:04:00Z <p>Je tente d'utiliser directement cette fonction dans la fonction verifier() d'un formulaire CVT.</p> <p>Mon code est le suivant :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function formulaires_calculer_tva_intra_verifier_dist (){ $erreurs = array(); $verifier = charger_fonction('verifier', 'inc/'); $erreurs = $verifier(_request('siren'), 'siren_siret', 'siren'); return $erreurs; }</code></pre></div> <p>et j'obtiens un « Warning : Illegal string offset 'message_erreur' in (...) /ecrire/public/aiguiller.php on line 229 ».</p> <p>Je ne parviens pas à trouver ce que j'ai loupé. Il va sans dire que je suis un débutant en php.</p> Vérifier 2015-12-10T10:13:15Z https://contrib.spip.net/Verifier#comment484873 2015-12-10T10:13:15Z <p>C'est corrigé merci</p> Vérifier 2015-12-10T10:03:04Z https://contrib.spip.net/Verifier#comment484872 2015-12-10T10:03:04Z <p>Il me semble que dans l'exemple de code («<small class="fine d-inline"> </small>Montrez moi le code<small class="fine d-inline"> </small>!<small class="fine d-inline"> </small>»), si on fait <code class="spip_code spip_code_inline" dir="ltr">charger_fonction()</code>, du coup il n'y a pas besoin de <code class="spip_code spip_code_inline" dir="ltr">include_spip()</code> non<small class="fine d-inline"> </small>?</p> Vérifier 2014-01-09T14:44:37Z https://contrib.spip.net/Verifier#comment473166 2014-01-09T14:44:37Z <p>Bonjour,</p> <p>J'ai fait la modification. Cela n'a rien changé.</p> <p>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</p> <p>Avec la flèche qui ouvre un petit calendrier, si j'entre par exemple les dates suivantes pour les trois onglets</p> <p>Date de démarrage<br class="autobr"> Date de démarrage du projet<br class="autobr"> j'ai ceci affiché avant :<br class="autobr"> jj/mm/aaaa<br class="autobr"> Avec le calendrier, je clique sur la date du 9 janvier 09/01/2014<br class="autobr"> A l'écran le calendrier retourne ceci dans la fenêtre input : 9/01/2014</p> <p>Date livraison prévue<br class="autobr"> Date à laquelle le projet doit être livré<br class="autobr"> j'ai ceci affiché avant :<br class="autobr"> jj/mm/aaaa<br class="autobr"> Avec le calendrier, je clique sur la date du 24 janvier 24/01/2014<br class="autobr"> A l'écran le calendrier retourne ceci dans la fenêtre input : 4/01/2014</p> <p>Date livraison effective<br class="autobr"> Date de livraison effective du projet<br class="autobr"> j'ai ceci affiché avant :<br class="autobr"> jj/mm/aaaa<br class="autobr"> Avec le calendrier, je clique sur la date du 4 février 04/02/2014<br class="autobr"> A l'écran le calendrier retourne ceci dans la fenêtre input : 4/02/2014</p> <p>Et cela renvoi cette erreur :<br class="autobr"> Le format de la date n'est pas accepté.</p> Vérifier 2014-01-09T12:59:18Z https://contrib.spip.net/Verifier#comment473162 2014-01-09T12:59:18Z <p>Bonjour,</p> <p>Il semble que le commit <a href="http://zone.spip.org/trac/spip-zone/changeset/78658/_plugins_/verifier" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/changeset/78658/_plugins_/verifier</a> ait introduit ce bug sur la création des dates.</p> <p>On a le soucis dans le cas de projet, mais aussi le plugin inscription 3 (date de naissance).</p> <p>A la lecture du commit, on pourrait tester ceci ici <a href="http://zone.spip.org/trac/spip-zone/browser/_plugins_/verifier/verifier/date.php#L108" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/browser/_plugins_/verifier/verifier/date.php#L108</a> :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>if (!$valeur or (is_array($valeur) and !$valeur['date'] and !$valeur['heure'])) { return $defaut; }</code></pre></div> <p>Code sorti brut de décoffrage. Je n'ai pas ce qu'il faut sous la min pour tester ceci.</p> Vérifier 2014-01-07T09:35:30Z https://contrib.spip.net/Verifier#comment473099 2014-01-07T09:35:30Z <p>Bonjour,</p> <p>J'ai le meme type de souci avec une « erreur technique », <br class="autobr"> « fabriquée » parce l'API editer_objet_traiter relit le résultat ecrit,<br class="autobr"> et compare avec la chaine d'origine (ce qui pose problème sur certains formats de date).</p> <p>La solution serait d'utiliser l'option « normaliser » de la verification de date,<br class="autobr"> mais je n'ai aps encore eu de succes..</p> <p>Bloavez mad<br class="autobr"> YannX</p> Vérifier 2013-12-31T10:03:55Z https://contrib.spip.net/Verifier#comment472995 2013-12-31T10:03:55Z <p>Bonjour</p> <p>Il y a une chose qui bloque pour la création du projet : c'est l'utilisation des champs date</p> <blockquote class="spip"> <p>Date de démarrage<br class="autobr"> 30/12/2013<br class="autobr"> Le format de la date n'est pas accepté.<br class="autobr"> Date de démarrage du projet<br class="autobr"> Afficher le calendrier</p> <p>Date livraison prévue<br class="autobr"> 31/01/2014<br class="autobr"> Le format de la date n'est pas accepté.<br class="autobr"> Date à laquelle le projet doit être livré<br class="autobr"> Afficher le calendrier</p> <p>Date livraison effective<br class="autobr"> 28/02/2014<br class="autobr"> Le format de la date n'est pas accepté.<br class="autobr"> Date de livraison effective du projet<br class="autobr"> Afficher le calendrier</p> </blockquote> <p>Que l'on rentre les différentes dates, de façon manuelle, ou avec les deux calendriers, il affiche l'erreur ci-dessus</p> <p>Cordialement,</p> Vérifier 2013-10-10T08:58:00Z https://contrib.spip.net/Verifier#comment471462 2013-10-10T08:58:00Z <p>Bonjour,<br class="autobr"> j utilise ce plugin pour la premiere fois, le concept est chouette<small class="fine d-inline"> </small>!<br class="autobr"> 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<small class="fine d-inline"> </small>?<br class="autobr"> triton</p> Vérifier 2012-01-07T19:58:00Z https://contrib.spip.net/Verifier#comment453336 2012-01-07T19:58:00Z <p>Maïeul, j'ai rebooté, vidé tous les caches, et le plugin est revenu... allez savoir<small class="fine d-inline"> </small>;-)<br class="autobr"> Merci pour l'aide, et pour le plugin<small class="fine d-inline"> </small>!</p> Vérifier 2012-01-07T19:38:14Z https://contrib.spip.net/Verifier#comment453335 2012-01-07T19:38:14Z <p>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 :(</p> Vérifier 2012-01-07T19:33:06Z https://contrib.spip.net/Verifier#comment453334 2012-01-07T19:33:06Z <p>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é<small class="fine d-inline"> </small>?<br class="autobr"> Merci pour le coup de pouce</p> Vérifier 2012-01-07T18:44:24Z https://contrib.spip.net/Verifier#comment453333 2012-01-07T18:44:24Z <p>t'a pas vérifié les droits de lectures/écritures<small class="fine d-inline"> </small>?</p> Vérifier 2012-01-07T18:37:18Z https://contrib.spip.net/Verifier#comment453332 2012-01-07T18:37:18Z <p>Dans la « Liste des plugins », qui permet visualiser tous les plugins actifs et inactifs</p> Vérifier 2012-01-07T17:12:10Z https://contrib.spip.net/Verifier#comment453331 2012-01-07T17:12:10Z <p>heu à quelle endroit n'apparaît il pas<small class="fine d-inline"> </small>? dans la liste des plugins à récupérer ou dans la liste des plugins a activer<small class="fine d-inline"> </small>?</p> Vérifier 2012-01-07T17:04:21Z https://contrib.spip.net/Verifier#comment453330 2012-01-07T17:04:21Z <p>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<small class="fine d-inline"> </small>?</p> Vérifier 2011-07-23T15:09:39Z https://contrib.spip.net/Verifier#comment448019 2011-07-23T15:09:39Z <p>Ah ok.. J'avais pas pensé à ce cas (très pertinent RPC) : le contexte CVT a masqué ma vision des choses.</p> <p>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...)</p> Vérifier 2011-07-23T13:26:00Z https://contrib.spip.net/Verifier#comment448014 2011-07-23T13:26:00Z <p>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).</p> Vérifier 2011-07-23T13:16:08Z https://contrib.spip.net/Verifier#comment448013 2011-07-23T13:16:08Z <p>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<small class="fine d-inline"> </small>; je pense que verifier et saisies devraient fusionner pour fournir une API unique dédiée aux formulaires pour les développeurs. <br class="manualbr">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.)</p>