我有一个关于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字段中输入值”?
答案 0 :(得分:1)
您需要使用validation groups。
没有比 Richard Miller 帖更好的了:
Symfony2: Using Validation Groups。请特别关注Multiple Forms with one Entity
。