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

  [Opened] DAOCRUD et contrainte unique

Posted by Nigoki on 06/20/2008 11:15

Bonjour,

Dans mon formulaire d'utilisateur, j'ai une contrainte unique qui est l'adresse email. Mon problème est donc, lors d'un ajout ou update dans cette table, si cette contrainte est violée, on a une erreur php au lieu d'un contrôle géré par CRUD, comme tous les autres contrôles d'informations, que je trouve, dit en passant, d'une facilité de programmation très appréciable :D

Je n'ai pas trouvé si ce genre de contrainte est gérée (en rajoutant dans le dao un attribut unique a mon champ par exemple) car le dao généré via jelix.php ne le comporte pas. Et sinon, quelles sont mes options pour vérifier cette contrainte ?

Merci d'avance.

  [Opened] Re: DAOCRUD et contrainte unique

Reply #1 Posted by laurentj on 06/20/2008 11:22

Salut,

Faire un try{}catch() ? ou faire une requête avant pour vérifier ?

Il y a plein de possibilité.. Mais rien d'automatique dans les daos.

  [Opened] Re: DAOCRUD et contrainte unique

Reply #2 Posted by Nigoki on 06/20/2008 11:42

Oui bien sur, mais dans mon jControllerDaoCrud, quelle méthode je dois surchargé ? ou est ce que je dois placé ma vérification ?

Si je redéfini la méthode je ne devrai pas ré écrire toute les vérifs etc ?

  [Opened] Re: DAOCRUD et contrainte unique

Reply #3 Posted by bballizlife on 06/20/2008 11:59

Si tu utilise le controller crud : Jelix reference API, voir controllers -> jControllerDaoCrud.

Tu y trouve _checkData() : «you can do your own data check of a form by overloading this method. You can also do some other things. It is called only if the $form->check() is ok. and before the save of the data»

Avec ça tu peux donc ajouter un test sur l'unicité de l'adresse email saisie sans réécrire toutes les vérifications de base faites par jForms.


N'importe comment c'est dans la doc

  [Opened] Re: DAOCRUD et contrainte unique

Reply #4 Posted by Nigoki on 06/20/2008 12:08

Excellent !

Merci à vous deux.

 
Page
  1. DAOCRUD et contrainte unique