1

我对 symfony2 表单有一个严重的问题,我创建了一个很长的表单,所以我用部分(字段)构建它,所以有时我会在同一个表单中汇总这部分(字段)并隐藏另一个使用display:none和 javascript 代码:

$('#{{form.price.vars.id}}').live('change', function(){
if ( $(this).is(':checked') ) {
 $('#action_{{form.price.vars.id}}').show();
} else {
 $('#action_{{form.price.vars.id}}').hide();
}
});

....

    <ul id="action_{{form.price.vars.id}}" style="display:none">
<li>{{ form_row(form.price_value)  }}</li>
<li>{{ form_row(form.price_subscription)  }}{{form_row(form.price_subscription_unit)}}</li>
<li>{{ form_row(form.price_activation)  }}{{form_row(form.price_activation_unit)}}</li>
</ul>
...

所以当我隐藏这个字段并单击提交时,表单仍然给我这个隐藏字段是空的,我必须输入一个值,这意味着该部分隐藏在客户端(html代码)但在后端他仍然没有隐藏?

提交后,当我显示隐藏字段以查看发生了什么时,我有一个通知“请在 emply 字段中输入一个值”?

4

1 回答 1

1

您需要为此使用验证组

没有什么比Richard Miller的帖子更好的了: Symfony2:使用验证组。特别看一下Multiple Forms with one Entity

于 2013-08-27T12:00:20.763 回答