$form->setPostValidator, plutôt, non ? Le 1 avril 2011 17:32, manuel brossard <[email protected]> a écrit :
> Cela me retourne : *Fatal error*: Call to undefined function > setPostValidator() > > Le 1 avril 2011 09:24, alex baron <[email protected]> a écrit : > > >> tu peux essayer comme cela : >> >> >> 'email_address' => setPostValidator (new sfValidatorDoctrineUnique( >> >>> array('model' => 'Customer', 'column' => array('id','email_address')) >>> >> , array( 'invalid' => 'Cette adresse e-mail est déjà dans la >>> base client'))), >> >> >> >> Alexandre Baron >> >> >> >> >> Le 1 avril 2011 09:14, manuel brossard <[email protected]> a écrit : >> >> Oui c 'est tout le problème, je ne peux pas utiliser le >>> sfValidatorDoctrineUnique car en cas d' édition du record impossible de >>> valider le formulaire. >>> >>> >>> Le 1 avril 2011 08:10, alex baron <[email protected]> a écrit : >>> >>>> Perso j'ai procédé que suit: >>>> >>>> >>>> 1-> je crée un postvalidator >>>> $this->mergePostValidator( new sfValidatorCallback(array('callback' => >>>> array($this, 'checkUniqueBillingId'))) ); >>>> >>>> 2-> dans le même formulaire on trouve la fonction checkUnique... >>>> public function checkUniqueBillingId($validator, $values) >>>> { >>>> $noBilling = isset($values['no_billing']) ? $values['no_billing'] : >>>> NULL; >>>> >>>> if(!agrPubBillingTable::getInstance()->isUnique($noBilling, >>>> $this->getObject()->getPublisherId(), $this->getObject()->getId())) >>>> { >>>> throw new sfValidatorErrorSchema($validator, array( >>>> 'no_billing' => new sfValidatorError($validator, 'There is >>>> already a bill with this id') >>>> )); >>>> } >>>> return $values; >>>> } >>>> >>>> 3-> isUnique renvoie faux si un enregistrement avec un autre id et le >>>> même noBilling existe. >>>> >>>> dans ton cas je dirai, mais je peux me tromper, que si tu fait un update >>>> alors ton validateur te renverra une erreur. Il truver >>>> Alexandre Baron >>>> >>>> >>>> >>>> >>>> Le 31 mars 2011 23:53, manuel brossard <[email protected]> a écrit >>>> : >>>> >>>> >>>>> OK cela donne donc pour moi. ? >>>>>> >>>>>> >>>>>> $this->setValidators(array( >>>>>> 'first_name' => new sfValidatorString(array('required' => >>>>>> true)), >>>>>> 'last_name' => new sfValidatorString(array('required' => true)), >>>>>> 'username' => new sfValidatorString(array('required' => true)), >>>>>> >>>>>> 'email_address' => new sfValidatorEmail(array('required' => >>>>>> true)), >>>>>> 'email_address' => setPostValidator (new >>>>>> sfValidatorDoctrineUnique(array('model' => 'Customer', 'column' => >>>>>> 'email_address'), array( 'invalid' => 'Cette adresse e-mail est >>>>>> déjà dans la base client'))), >>>>>> >>>>>> >>>>>> Le 31 mars 2011 17:13, Nicolas <[email protected]> a écrit : >>>>>> >>>>>> Bonjour, >>>>>>> >>>>>>> si mes souvenirs sont bons, il faut utiliser un postValidator pour ce >>>>>>> cas là : >>>>>>> >>>>>>> $this->validatorSchema->setPostValidator(new >>>>>>> sfValidatorDoctrineUnique(array('model' >>>>>>> >>>>>>> => 'Customer', 'column' => 'email_address'), array( 'invalid' => >>>>>>> 'Cette adresse e-mail est déjà dans la base client'))); >>>>>>> >>>>>>> >>>>>>> a+ >>>>>>> Nicolsa >>>>>>> >>>>>>> Le 31 mars 2011 17:09, manuel brossard <[email protected]> a >>>>>>> écrit : >>>>>>> >>>>>>>> Rassurant !.. lol >>>>>>>> >>>>>>>> Désolé mais je ne comprends pourquoi il faut vérifier un autre >>>>>>>> champs.. . Dans le cas d' un update, l' id n' est pas modifié. >>>>>>>> >>>>>>>> Le 31 mars 2011 17:02, alex baron <[email protected]> a écrit : >>>>>>>> >>>>>>>> Si tu regarde dans le code du widget il est possible de spécifier >>>>>>>>> plusieurs champs pour la recherche de doublon. Mais de mon côté je >>>>>>>>> n'ai pas >>>>>>>>> réussi à le faire fonctionner. Je n'ai pas la toute dernière version >>>>>>>>> de >>>>>>>>> sf14. >>>>>>>>> >>>>>>>>> Alexandre Baron >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Le 31 mars 2011 16:59, manuel brossard <[email protected]> a >>>>>>>>> écrit : >>>>>>>>> >>>>>>>>> C 'est quand même hallucinant cette histoire.. A quoi sert ce type >>>>>>>>>> de widget si est utilisable à moitié. C 'est pas comme si c' était >>>>>>>>>> ultra >>>>>>>>>> courant ce genre de cas. >>>>>>>>>> >>>>>>>>>> Le 31 mars 2011 16:51, alex baron <[email protected]> a écrit >>>>>>>>>> : >>>>>>>>>> >>>>>>>>>>> Bonjour, >>>>>>>>>>> j'ai eu le même problème et je me suis décidé à faire mon propre >>>>>>>>>>> validator. Ce qui ce passe c'est qu'il faut vérifier deux champs >>>>>>>>>>> pour la >>>>>>>>>>> contrainte d'intégrité => l'id et l'email sinon il trouvera >>>>>>>>>>> toujours un >>>>>>>>>>> doublon. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Le 31 mars 2011 15:10, manuel brossard <[email protected]> a >>>>>>>>>>> écrit : >>>>>>>>>>> >>>>>>>>>>>> Bonjour, >>>>>>>>>>>> >>>>>>>>>>>> Personne n' a rencontré ce problème ? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Le 29 mars 2011 09:29, mantex <[email protected]> a écrit : >>>>>>>>>>>> >>>>>>>>>>>>> Bonjour à tous, >>>>>>>>>>>>> >>>>>>>>>>>>> J'ai un ptit soucil avec un formulaire qui se valide pas >>>>>>>>>>>>> lorsque je >>>>>>>>>>>>> met un jour un enregistrement : >>>>>>>>>>>>> >>>>>>>>>>>>> Ci dessous un extrait des validateurs : >>>>>>>>>>>>> >>>>>>>>>>>>> 'email_address' => new sfValidatorEmail(array('required' => >>>>>>>>>>>>> true)), >>>>>>>>>>>>> 'email_address' => new >>>>>>>>>>>>> sfValidatorDoctrineUnique(array('model' >>>>>>>>>>>>> => 'Customer', 'column' => 'email_address'), array( 'invalid' >>>>>>>>>>>>> => >>>>>>>>>>>>> 'Cette adresse e-mail est déjà dans la base >>>>>>>>>>>>> client')), >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> A la création de l' enregistrement ça fait le job pas de pb , >>>>>>>>>>>>> par >>>>>>>>>>>>> contre à l' update de l' enregistrement le message' 'invalid' >>>>>>>>>>>>> s' >>>>>>>>>>>>> affiche. >>>>>>>>>>>>> >>>>>>>>>>>>> En clair comment vérifierl' unicité d' un champs d' un >>>>>>>>>>>>> enregistrement >>>>>>>>>>>>> en ayant la possibilité de mettre à jour un autre champs de >>>>>>>>>>>>> cette >>>>>>>>>>>>> enregistrement. >>>>>>>>>>>>> >>>>>>>>>>>>> Ps: j' utilise également un validator pour tester que la chaine >>>>>>>>>>>>> saisie >>>>>>>>>>>>> est bien au format mail. >>>>>>>>>>>>> >>>>>>>>>>>>> Bonne journée >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>>>> Groupes Symfony-fr. >>>>>>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à >>>>>>>>>>>>> l'adresse [email protected]. >>>>>>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Cordialement, >>>>>>>>>>>> >>>>>>>>>>>> Manuel Brossard >>>>>>>>>>>> Twitter: twitter.com/infonel >>>>>>>>>>>> Skype : mantex2039 >>>>>>>>>>>> >>>>>>>>>>>> Tel: + 33 9 72 17 00 41 >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>>> Groupes Symfony-fr. >>>>>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>>>>> [email protected]. >>>>>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>>>>> [email protected]. >>>>>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>>> Groupes Symfony-fr. >>>>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>>>> [email protected]. >>>>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>>>> [email protected]. >>>>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Cordialement, >>>>>>>>>> >>>>>>>>>> Manuel Brossard >>>>>>>>>> Twitter: twitter.com/infonel >>>>>>>>>> Skype : mantex2039 >>>>>>>>>> >>>>>>>>>> Tel: + 33 9 72 17 00 41 >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>>> Groupes Symfony-fr. >>>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>>> [email protected]. >>>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>>> [email protected]. >>>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>>> Groupes Symfony-fr. >>>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>>> [email protected]. >>>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>>> [email protected]. >>>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Cordialement, >>>>>>>> >>>>>>>> Manuel Brossard >>>>>>>> Twitter: twitter.com/infonel >>>>>>>> Skype : mantex2039 >>>>>>>> >>>>>>>> Tel: + 33 9 72 17 00 41 >>>>>>>> >>>>>>>> -- >>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>>>>> Groupes Symfony-fr. >>>>>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>>>>> [email protected]. >>>>>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>>>>> [email protected]. >>>>>>>> Pour plus d'options, consultez la page de ce groupe : >>>>>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Cordialement, >>>>>> >>>>>> Manuel Brossard >>>>>> Twitter: twitter.com/infonel >>>>>> Skype : mantex2039 >>>>>> >>>>>> Tel: + 33 9 72 17 00 41 >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Cordialement, >>>>> >>>>> Manuel Brossard >>>>> Twitter: twitter.com/infonel >>>>> Skype : mantex2039 >>>>> >>>>> Tel: + 33 9 72 17 00 41 >>>>> >>>>> -- >>>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>>> Groupes Symfony-fr. >>>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>>> [email protected]. >>>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>>> [email protected]. >>>>> Pour plus d'options, consultez la page de ce groupe : >>>>> http://groups.google.com/group/symfony-fr?hl=fr >>>>> >>>> >>>> -- >>>> Vous recevez ce message, car vous êtes abonné au groupe Google >>>> Groupes Symfony-fr. >>>> Pour envoyer un message à ce groupe, adressez un e-mail à >>>> [email protected]. >>>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>>> [email protected]. >>>> Pour plus d'options, consultez la page de ce groupe : >>>> http://groups.google.com/group/symfony-fr?hl=fr >>>> >>> >>> >>> >>> -- >>> Cordialement, >>> >>> Manuel Brossard >>> Twitter: twitter.com/infonel >>> Skype : mantex2039 >>> >>> Tel: + 33 9 72 17 00 41 >>> >>> -- >>> Vous recevez ce message, car vous êtes abonné au groupe Google >>> Groupes Symfony-fr. >>> Pour envoyer un message à ce groupe, adressez un e-mail à >>> [email protected]. >>> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >>> [email protected]. >>> Pour plus d'options, consultez la page de ce groupe : >>> http://groups.google.com/group/symfony-fr?hl=fr >>> >> >> -- >> Vous recevez ce message, car vous êtes abonné au groupe Google >> Groupes Symfony-fr. >> Pour envoyer un message à ce groupe, adressez un e-mail à >> [email protected]. >> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >> [email protected]. >> Pour plus d'options, consultez la page de ce groupe : >> http://groups.google.com/group/symfony-fr?hl=fr >> > > > > -- > Cordialement, > > Manuel Brossard > Twitter: twitter.com/infonel > Skype : mantex2039 > > Tel: + 33 9 72 17 00 41 > > -- > Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes Symfony-fr. > Pour envoyer un message à ce groupe, adressez un e-mail à > [email protected]. > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > [email protected]. > Pour plus d'options, consultez la page de ce groupe : > http://groups.google.com/group/symfony-fr?hl=fr > -- Jérémy LEHERPEUR [email protected] -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à [email protected]. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr
