essaye ça :
'socialrelation'  => new
sfValidatorChoice(array('add_empty'=>'Choisissez' ,'choices'  =>
self::$liensocial)),
et rajoute 'required'=>true au validateur
en virant 0 => 'Choisissez' de self::$liensocial

---
Tugdual Saunier
[email protected]

Le 5 janvier 2011 19:47, manuel brossard <[email protected]> a écrit :
>
>
>
> 'socialrelation'  => new sfValidatorChoice(array('choices'  => 
> self::$liensocial)),
>
>
> ESt impossible à valider..
>
> OU trouver une doc intelligible sur les widgets
>
>
> Valider un choix dans une liste exemple :
>
> J' ai une liste de département dans un formulaire je veux que l' utilisateur 
> sélectionne son département  et ne laisse pas la première valeur (ain ou 
> vide. )
> juste parce qu' il a oublié.
>
> C 'est de l' ultra classique ! mais bon ça doit être trop simple..
>
> En fait quand c' est déjà codé c 'est bien d' avoir la doc exhaustif sinon j' 
> ai juste l' enfer. ET symfony devient une cacophonie !
>
>
> Le 5 janvier 2011 15:36, manuel brossard <[email protected]> a écrit :
>>
>> Ben non ..
>>
>>
>> et si j' ajoute pas la valeur nulle dans le widget la liste contient les 
>> valeurs possibles et donc c 'est encore car en cas d' oubli c "est le 
>> premier choix de la liste qui sera enregistré.
>>
>>
>>
>> Le 5 janvier 2011 14:49, Lélio ML <[email protected]> a écrit :
>>>
>>> Le required => true devrait fonctionner.
>>>
>>> Sinon, dans l'option choices du sfValidatorFormChoice, il ne faut pas que la
>>> chaine vide '' soit présente.
>>>
>>> -----Message d'origine-----
>>> De : [email protected] [mailto:[email protected]] De la
>>> part de manuel brossard
>>> Envoyé : mercredi 5 janvier 2011 14:41
>>> À : [email protected]
>>> Objet : Re: [symfony-fr] validator liste déroulante
>>>
>>> Ben si le premier élément est 'choisissez" le can_be_empty =>false ne
>>> marchera pas,  et le champs est forcement requis puisque c' est une liste
>>> déroulante.
>>>
>>> Cela fonctionnera qu' avec premier élément vide.
>>>
>>>
>>>
>>>
>>>
>>> Le 5 janvier 2011 14:33, ASSO Anthony <[email protected]> a écrit :
>>>
>>>
>>>        Rajoute l'option: can_be_empty =>false ou required=>true selon ton
>>> utilisation.
>>>
>>>
>>>
>>>        2011/1/5 manuel brossard <[email protected]>:
>>>        > Oui j' ai plus d' erreur mais la validation est toujours bonne
>>> même si il
>>>        > n'  y a pas eu de choix.
>>>        >
>>>        > L' idée c' est d 'obliger à faire un choix autre que le premier de
>>> la liste
>>>        > (champs vide ou indicatif.. )
>>>        >
>>>        >
>>>        > Le 5 janvier 2011 13:07, mohamed elharouachi
>>> <[email protected]> a écrit
>>>        > :
>>>        >>
>>>        >> 'socialrelation'  => new sfValidatorChoice(array('choices'  =>
>>>        >> array_keys(self::$liensocial))),
>>>        >>
>>>        >> Le 5 janvier 2011 12:06, ASSO Anthony <[email protected]> a
>>> écrit :
>>>        >>>
>>>        >>> essaye ca:
>>>        >>>
>>>        >>> new sfValidatorChoice(array(
>>>        >>>      'choices' => array_keys(self::$liensocial)
>>>        >>>    ));
>>>        >>>
>>>        >>> 2011/1/5 manuel brossard <[email protected]>:
>>>        >>> > 'socialrelation'  => new
>>>        >>> > sfValidatorString(array(array_keys(self::$liensocial))),
>>>        >>> >
>>>        >>> >
>>>        >>> > génère une erreur 500.
>>>        >>> >
>>>        >>> >
>>>        >>> >
>>>        >>> > Le 5 janvier 2011 08:42, ASSO Anthony <[email protected]>
>>> a écrit
>>>        >>> > :
>>>        >>> >>
>>>        >>> >> Bonjour,
>>>        >>> >>
>>>        >>> >> pour ton premier pb:
>>>        >>> >>
>>>        >>> >> Dans le validator, il faut mettre
>>>        >>> >> array(array_keys(self::$liensocial))) en premier argument. il
>>>        >>> >> t'obligera donc à avoir une element de ta liste.
>>>        >>> >>
>>>        >>> >> Dans le deuxième argument, tu personnalises ton messsage ou
>>> en faisant
>>>        >>> >> un setMessage() après la déclaration du validator
>>>        >>> >>
>>>        >>> >> Bonne journée.
>>>        >>> >>
>>>        >>> >> 2011/1/4 mantex <[email protected]>:
>>>        >>> >> > Bonsoir,
>>>        >>> >> >
>>>        >>> >> >
>>>        >>> >> >
>>>        >>> >> > J ' essai de gérer utiliser le validator sfValidatorString
>>> pour
>>>        >>> >> > obliger le choix parmi  une liste déroulante.
>>>        >>> >> >
>>>        >>> >> > Voici un extrait de ma classe:
>>>        >>> >> >
>>>        >>> >> > protected static
>>>        >>> >> > $liensocial = array(0 => 'Choisissez', 1 => 'Hierarchie', 2
>>> =>
>>>        >>> >> > 'Pair',
>>>        >>> >> > 3 => 'Collaborateur', 4 =>'Exterieur');
>>>        >>> >> >
>>>        >>> >> >
>>>        >>> >> > $this->widgetSchema['socialrelation'] = new
>>> sfWidgetFormSelect
>>>        >>> >> > (array('choices' => self::$liensocial));
>>>        >>> >> >
>>>        >>> >> >  'socialrelation'  => new
>>> sfValidatorString(array('min_length' =>
>>>        >>> >> > 1)),
>>>        >>> >> >
>>>        >>> >> > Mais cela ne fait pas le job , je n' ai d' ailleurs pas
>>> trouvé
>>>        >>> >> > comment
>>>        >>> >> > personnalisé le message en remplacement 'champ is too
>>> short' dans le
>>>        >>> >> > cas ou la condition n' est pas remplie.
>>>        >>> >> >
>>>        >>> >> >
>>>        >>> >> >
>>>        >>> >> > --
>>>        >>> >> > 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]
>>> <mailto:symfony-fr%[email protected]> .
>>>        >>> >> > Pour plus d'options, consultez la page de ce groupe :
>>>        >>> >> > http://groups.google.com/group/symfony-fr?hl=fr
>>>        >>> >> >
>>>        >>> >> >
>>>        >>> >>
>>>        >>> >>
>>>        >>> >>
>>>        >>> >> --
>>>        >>> >> Anthony ASSO
>>>        >>> >> 4 Rue de Bayeux - Apt. 529
>>>        >>> >> 31300 TOULOUSE
>>>        >>> >> ---
>>>        >>> >> Tel: 06.25.74.04.29
>>>        >>> >> [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]
>>> <mailto:symfony-fr%[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]
>>> <mailto:symfony-fr%[email protected]> .
>>>        >>> > Pour plus d'options, consultez la page de ce groupe :
>>>        >>> > http://groups.google.com/group/symfony-fr?hl=fr
>>>        >>> >
>>>        >>>
>>>        >>>
>>>        >>>
>>>        >>> --
>>>        >>> Anthony ASSO
>>>        >>> 4 Rue de Bayeux - Apt. 529
>>>        >>> 31300 TOULOUSE
>>>        >>> ---
>>>        >>> Tel: 06.25.74.04.29
>>>        >>> [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]
>>> <mailto:symfony-fr%[email protected]> .
>>>        >>> Pour plus d'options, consultez la page de ce groupe :
>>>        >>> http://groups.google.com/group/symfony-fr?hl=fr
>>>        >>>
>>>        >>
>>>        >>
>>>        >>
>>>        >> --
>>>        >>
>>>        >> MOHAMED EL HAROUACHI
>>>        >> Ingénieur d'études et de développement
>>>        >> Smile Maroc
>>>        >> Smile – Open Source Solutions
>>>        >> www.smile.fr
>>>        >>
>>>        >> Tél : (+212) 522 27 13 74 / +212 5 22 27 49 89
>>>        >> Fax : (+212) 522 27 13 74
>>>        >> Mob : (+212) 678403494
>>>        >> Mail : [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]
>>> <mailto:symfony-fr%[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]
>>> <mailto:symfony-fr%[email protected]> .
>>>        > Pour plus d'options, consultez la page de ce groupe :
>>>        > http://groups.google.com/group/symfony-fr?hl=fr
>>>        >
>>>
>>>
>>>
>>>        --
>>>        Anthony ASSO
>>>        4 Rue de Bayeux - Apt. 529
>>>        31300 TOULOUSE
>>>        ---
>>>        Tel: 06.25.74.04.29
>>>        [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]
>>> <mailto:symfony-fr%[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
>>
>
>
>
> --
> 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

Répondre à