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
