Utilises plutôt les widget propelChoice (ou l'équivalent pour Doctrine).
Tu auras ainsi, en écrivant correctement ton schéma, directement un widget
adapté qui fera le lien entre les tables. Tu utiliseras ensuite
sfFormExtraPlugin pour afficher sous forme de cases à cocher.

Sinon, pour l'identification, utilise le très bon plugin sfGuardPlugin. Il
fera tout tout seul et tu n'auras qu'un peu de paramétrage à faire sans que
cela demande beaucoup d'effort (il faut quand même lire la doc)

-----Message d'origine-----
De : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De la
part de Jeff
Envoyé : jeudi 10 septembre 2009 14:42
À : Symfony-fr
Objet : [symfony-fr] Formulaire - multiple checkbox - validator


Bonjour à tous

j'ai un petit souci sur un formulaire pour son affichage et sa
validation
je vous explique

en base de données j'ai 3 tables

une table user
id
lastname
firstname
login
password

une table group
id
libelle

une table user_group
id
user_id
group_id

cela permet d'attribuer plusieurs groupes à un utilisateur
(administrateur, utilisateur, commercial,...)
je cherche à avoir un formulaire composé de champ input pour le user
et une liste de checkbox pour les groupes
voici mon code

$this->form = new userForm();

$this->formGroup = new user_groupForm();
$this->formGroup->makeCheckBoxList();

la fonction makeCheckBoxList() va chercher la liste complète des
groupes pour en faire des checkbox
public function makeCheckBoxList()
{
    $tmp = array();
    $groupList = Doctrine::getTable('group')->getList();

    foreach($groupList as $group){
        $tmp[$group['id']] = $group['libelle'];
    }

    $groupSelect = new sfWidgetFormSelectCheckbox(array(
        'choices'  => $tmp
    ));

    $this->setWidget('group_id', $groupSelect);
}

ceci fonctionne correctement
seulement, à la modification, mes checkbox ne sont pas cochées
lors d'un update, j'instantie le userForm en lui passant en paramètre
mon objet user préalablement sélectionné
j'ai donc bien les infos du user qui s'affiche dans mes champs
mais que dois je passer en paramètre à mon second formulaire ? car je
n'ai pas qu'un seul objet mais plusieurs

je sais pas si je me suis bien fait comprendre...

mon second problème est de créer un validator vérifiant qu'au moins
une des checkbox a été coché
je me suis pas trop penché la dessus, je pense passer par un validator
callback après le post et vérifier la liste des values
suis je dans le droit chemin ?

mais bon pour le moment je bloque sur l'update de mon formulaire
c'est pour cela que je viens demander votre aide
merci bien






--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse symfony-fr@googlegroups.com
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse symfony-fr+unsubscr...@googlegroups.com
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à