[spip-dev] Message d'erreur sur charger() d'un formulaire

Hello,

J’ai un petit cas un peu dérogatoire pour lequel je souhaiterais renvoyer un message d’erreur sur le charger (c’est un formulaire à deux étapes).
Si je regarde programmer il est dit :

message_erreur
Le message d’erreur est fourni, en principe, par la fonction traiter(). Il est néanmoins possible de le fournir par la fonction charger() de manière dérogatoire.

Mais en passant $valeurs[‘message_erreur’] dans charger() cela ne fonctionne pas car l’index est mis à ‘’ dans la fonction balise_FORMULAIRE__contexte() du fichier balise/formulaire_.php :

if ($je_suis_poste) {
   $valeurs['message_erreur'] = "";
   if (isset($erreurs['message_erreur'])) {
      $valeurs['message_erreur'] = $erreurs['message_erreur'];
   }

Donc ma question, est-ce vraiment possible et si oui, quel est la méthode ? Passer par une vérifier ?

Bonjour Eric,

Je tenterai un $valeurs['_message_erreur'].
Pas certain que cela fonctionne cependant :slight_smile:

Eric Lupinacci <eric@smellup.net> writes:

Non ça ne fonctionne pas justement c’est ce que j’explique.
Et je vois toujours pas comment y arriver.

Yop

Est-ce que tu as bien vu le "_" devant le nom de la variable ?

Eric Lupinacci <eric@smellup.net> writes:

Non exact.
Mais dans ce cas ça marche si je mets le

correspondant pour le message.
Mais normalement on en a pas besoin d’après la doc.

Bonjour,

Il y a peut-être plus simple, mais de mon côté, je faisais ceci :

Définir une clé “cas_atypique” dans le tableau de retour de la fonction charger.
Au niveau de la fonction verifier, il suffit en principe de faire un set_request("cas_atypique ", 12345) et lui faire retourner une erreur.

cas_atypique se retrouve alors dans l’environnement…

Julien