I'm using the Twig template of Symfony 6 along with the Materialize framework. I have a ManyToMany relationship between a client and offers. Therefore, when creating my client, I want to assign one or more offers to them. So, I have an entityType in my form with the 'filled-in' CSS class.
->add('offres', EntityType::class, [
'class' => CfgOffreCommerciale::class,
'choice_label' => 'offre_nom',
'label' => 'Offres',
'multiple' => true, // Activer la sélection multiple
'expanded' => true,
'attr' => [
'class' => 'filled-in',
],
])
I display my offers like this:
<div class="col">
<label>
{{ form_label(form.offres) }}
{{ form_widget(form.offres) }}
<span>{{ form_errors(form.offres) }}</span>
</label>
</div>
And so, here's what I get:
<div class="col">
<label class="required">Offres</label>
<div class="input-field">
<div id="client_new_form_offres">
<input type="checkbox" id="client_new_form_offres_1" name="client_new_form[offres][]" value="1"/>
<label for="client_new_form_offres_1">Option 1</label>
<input type="checkbox" id="client_new_form_offres_2" name="client_new_form[offres][]" value="2"/>
<label for="client_new_form_offres_2">Option 2</label>
<input type="checkbox" id="client_new_form_offres_3" name="client_new_form[offres][]" value="3"/>
<label for="client_new_form_offres_3">Option 3</label>
</div>
</div>
<div class="form-error"></div>
</div>
Here is what I should normally have:
<div class="col">
<label class="required">Offres</label>
<div class="input-field">
<div id="client_new_form_offres">
<label>
<input type="checkbox" class="filled-in" id="client_new_form_offres_1" name="client_new_form[offres][]" value="1"/>
<span for="client_new_form_offres_1">Option 1</span>
</label>
<label>
<input type="checkbox" class="filled-in" id="client_new_form_offres_2" name="client_new_form[offres][]" value="2"/>
<span for="client_new_form_offres_2">Option 2</span>
</label>
<label>
<input type="checkbox" class="filled-in" id="client_new_form_offres_3" name="client_new_form[offres][]" value="3"/>
<span for="client_new_form_offres_3">Option 3</span>
</label>
</div>
</div>
<div class="form-error"></div>
</div>
Thanks in advance to those who take the time to help!