【问题标题】:sonata_type_collection is cleared on preSubmitsonata_type_collection 在 preSubmit 时被清除
【发布时间】:2017-06-14 07:41:29
【问题描述】:

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

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

当提交有错误的表单(例如,必填字段为空)时,重新呈现的表单会失去其结构。该集合内置于 PRE_SET_DATA 表单事件中,但在提交时,preSubmit 事件«销毁»了 PRE_SET_DATA 中内置的集合。

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。类型选项 «modifiable» 解决了我的问题,集合不会在 preSubmit 时重置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 2011-10-17
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多