sonata_type_collection在preSubmit上清除

时间:2017-06-14 07:41:30

标签: collections types sonata-admin sonata symfony-3.2

与此问题相关:https://github.com/sonata-project/SonataCoreBundle/issues/408,我有自定义sonata_type_collection的意外行为。

该集合用作EAV模型,通过标准的sonata_type_collection构建动态表单。

当提交带有错误的表单时(例如,必填字段为空),重新呈现的表单会松散其结构。该集合是在PRE_SET_DATA表单事件中构建的,但在提交时,preSubmit事件«destroy»在PRE_SET_DATA中构建的集合。

我的问题是,有没有办法在提交时避免收集清算?

1 个答案:

答案 0 :(得分:1)

附加到表单字段的ResizeFormListener可能会导致此行为,因为它会在您提交表单时从集合中删除空行。

将收藏字段添加到modifiable => false时,您应添加FormMapper选项。

使用此选项时,不会附加ResizeFormListener,因此在提交时不会删除空的集合元素。