Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jForm et évenement

Posted by yamsuz on 01/11/2011 11:39

Bonjour,

Toujours dans mon développement, et je viens de rencontrer un problème que je gére très bien. Mais il m'a permis de me poser la question, y a-t-il des événements de controles de données un peu dans le genre des DAO (daoUpdateBefore, daoUpdateAfter etc ...). Je sais qu'on peut utiliser ceux des DAO, mais je pense qu'il serait intéressant de faire executer un événement dans la fonction check du formulaire et également dans le check du control.

Qu'en pensez-vous?

  [Opened] jForm et évenement

Reply #1 Posted by foxmask on 01/11/2011 13:14

Bonjour,

comme tu le sais dans formulaire il y a deja des vérifications faites (en js) sur la validité des champs vis à vis d'un .forms.xml, de même dans le controleur on dispose de $form->check() qui refait une 2nde vérification sur le validité sur token entre autre.

Si en plus de tout ceci tu souhaites émettre/répondre à des évènements, pour valider des process "métiers", il faut utiliser jEvent::notify() ce qui permettra de faire faire d'autre vérification depuis un listener.

par exemple, pour le forum, lors de l'inscription d'un membre, le forum "répond" à l'event AuthLogin du module jAuth, en vérifiant que mon utilisateur n'est pas banni.

Si ceci ne correspond pas à ton souhait, détailles davantage, je me serai fourvoyé ;)

cdt


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] jForm et évenement

Reply #2 Posted by yamsuz on 01/11/2011 14:05

Je te remercie de ta réponse, pour l'instant c'est ce que j'ai fait et çà fonctionne très bien, mais je pensais (juste une idée)

dans la fonction ckeck du formulaire qui renvoi true/false (du coté serveur), je pensais à faire en automatique un jEvent::notify() qui récupére un booleen et en fonction de ce booléen on continu à controler le formulaire.

Exemple concret:

J'ai un projet qui a un état. Dans la table état j'ai un booléen qui me permet de savoir si j'ai le droit de modifier le projet. J'ai donc un jForm, au moment de faire mon check je fais un control manuel en plus sur le booléen pour savoir si j'ai le droit d'aller plus loin.

Ma proposition aurait été de générer au moment du check un événement dans lequel je me serais abonné et j'aurai fait mon control.

Mais ce n'est qu'une suggestion.

  [Opened] jForm et évenement

Reply #3 Posted by foxmask on 01/11/2011 16:48

Si tu declenches une requete XHR, tu dois pouvoir faire tout ce processus non ?

Sinon pour la suggestion, si tu y tiens, soumets un ticket et Laurent te dira ce qu'il en pense ;)


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] jForm et évenement

Reply #4 Posted by laurentj on 01/11/2011 23:26

Salut,

J'ai un projet qui a un état. Dans la table état j'ai un booléen qui me permet de savoir si j'ai le droit de modifier le projet. J'ai donc un jForm, au moment de faire mon check je fais un control manuel en plus sur le booléen pour savoir si j'ai le droit d'aller plus loin.

Si tu n'as pas le droit de modifier le projet, à priori, tu n'affiches même pas le formulaire (tu vas pas faire saisir à l'utilisateur un truc inutilement :) ). Donc l'évènement dans ta méthode check ne sert à rien dans ton exemple.

Et sinon pour l'histoire de l'event dans les forms, je reste sceptique. Quoique. En fait, faut pas avoir d'event juste au check, mais aussi lors du create, get, fill etc. Cela permettrait par exemple à un module tiers de rajouter des controles, ou modifier des existants, comme cela est possible de faire pour le module jcommunity (les events sont produits par les contrôleurs actuellement).

  [Opened] jForm et évenement

Reply #5 Posted by yamsuz on 01/11/2011 23:58

J'affiche les information en consultation, mais je mets systématiquement un contrôle pour vérifier qu'il n'y a pas de pb sur le serveur. J'ai effectivement dans mon contrôleur des vérification a chaque fois create, update ...

Il me parait avantageux de faire des évents automatique.

 
Page
  1. jForm et évenement