我有一个带有EntityType
字段的表单。从中获取值的表已经增长,并且渲染的选择框使页面变大(=加载缓慢)。
我取而代之:
->add(
'contact',
'entity',
array(
'class' => 'CRMCoreBundle:Contact',
'required' => false,
'empty_data' => null,
)
)
使用:
->add(
'contact',
'entity',
array(
'class' => 'CRMCoreBundle:Contact',
'choices' => array(),
'required' => false,
'empty_data' => null,
)
)
渲染一个空的选择框,在前端,我使用AJAX填充并自动完成选择框。
问题是,现在当我提交表单时,它无效。有什么想法吗?
答案 0 :(得分:3)
它不会通过验证,因为在创建表单时,表单组件未添加您提交的值。这是为了保护表单不接受未经授权的值。
执行此操作的正确方法是让您的ajax请求表单使用表单事件更新后端的选择字段,然后使用适当的值更新显示的选择。
有关表格活动的更多信息,请访问http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html