'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]<symfony-fr%[email protected]>
>> <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]>
>> <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]>
>> <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]>
>> <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]>
>> <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]>
>> <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]>
>> <mailto:symfony-fr%[email protected]<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]<symfony-fr%[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]<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
>
>


-- 
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 à