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&eacute;j&agrave; 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&eacute;j&agrave; 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&eacute;j&agrave; 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&eacute;j&agrave; 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

Répondre à