Bonjour,

J' ai un ptit soucis avec un formulaire (1 fois de plus.. ) qui a besoin de vérifier l' unicité d' un champs (email) en même temps que son format.

J' ai mis une contrainte d' intégrité sur le schéma, mais je n' arrive pas à sortir proprement une erreur sur ce champs.

Au départ j' utilisé sfValidatorDoctrineUnique comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 'email_address' => new sfValidatorDoctrineUnique(array('model' => 'Customer', 'column' => 'email_address'), array( 'invalid' => 'Cette adresse e-mail est déjà dans la base client')),
Super pour la création de nouveau enregistrement, mais à l' update impossible de valider le formulaire si on ne change pas le champs.


Alors on ma conseillé ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$this->validatorSchema->setPostValidator(
      new sfValidatorAnd(array(
        new sfValidatorDoctrineUnique(array('model' => 'Customer', 'column' => array('email_address','id')), array('invalid'=>'Cette adresse e-mail est déjà dans la base client')),
)));

Qui ne marche pas. => erreur d' intégrité..

Si quelqu' un à une lumière pour m' éclairer.