我有一個在樹枝模板中驗證複選框的問題。在樹枝,我想這樣做:Symfony2驗證表單複選框在樹枝模板中被選中
{% for activity in form.activity %}
{% if (activity.isChecked) %}
<div>
{{ form_widget(activity) }}
{{ form_label(activity) }}
</div>
{% endif %}
{% endfor %}
活動是在表單生成一個實體領域:
->add('activity', 'entity', array(
'class' => 'AcmeProspectionBundle:Activity',
'expanded' => true,
'multiple' => true,
'property' => 'name',
/*
'query_builder' => function(EntityRepository $er) use($options) {
return $er->createQueryBuilder('ac')
->leftJoin('ac.company','c')
->where('c = :id')
->orderBy('ac.name', 'ASC')
->setParameter('id', $options['company_id']);
}
*/
))
事實上,如果我不發表意見query_builder組成部分,它不僅會生成選中的部分,但是如果我這樣做,Symfony將檢查原始數組和提交數組的完整性。我無法添加任何新活動。其實我產生由JavaScript的選擇是這樣的:
<div class="activity_checkbox" data-prototype='<div>
<input type="checkbox" checked="checked" value="100" placeholder="" name="acme_prospection_company[activity][]">
<label></label></div>'>
因爲我有3000多的選擇,我不能用原來的複選框或選擇讓用戶做到這一點。所以現在所有的工作都完成了,只需要渲染選中的活動。我不知道如何。
對於複選框,這不起作用。 –