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