与此问题相关:https://github.com/sonata-project/SonataCoreBundle/issues/408,我有自定义sonata_type_collection的意外行为。
该集合用作EAV模型,通过标准的sonata_type_collection构建动态表单。
当提交带有错误的表单时(例如,必填字段为空),重新呈现的表单会松散其结构。该集合是在PRE_SET_DATA表单事件中构建的,但在提交时,preSubmit事件«destroy»在PRE_SET_DATA中构建的集合。
我的问题是,有没有办法在提交时避免收集清算?
答案 0 :(得分:1)
附加到表单字段的ResizeFormListener
可能会导致此行为,因为它会在您提交表单时从集合中删除空行。
将收藏字段添加到modifiable => false
时,您应添加FormMapper
选项。
使用此选项时,不会附加ResizeFormListener,因此在提交时不会删除空的集合元素。