symfony - 完全清除表单集合

标签 symfony symfony-forms formcollection

我对 Symfony 2.6 表单集合有疑问。从收藏作品中删除元素,但前提是至少存在一个元素。如果从 DOM 中删除最后一个元素(使集合容器为空),则在处理请求后不会从集合中删除任何元素。

示例:

我有一个包含“children”集合和两个 child “a”和“b”的表单。我从 DOM 中删除子项“b”,保存,调用removeChild,子项被删除。现在我还删除了子项“a”,保存,没有任何反应 - 刷新表单后,子项仍然存在。 在表单处理请求后转储主实体时,子实体也会出现在其集合中。

有人遇到类似问题并找到解决方案吗?

最佳答案

感谢@Daniel 为我指明了新的方向,我找到了解决方案。提交方法实际上接受第二个参数 - 清除空。然而,传递请求提交已被弃用,并将在 Symfony 3.0 中删除。 处理请求确实实际上支持清空功能。 根本就不是手动传递,而是基于请求方法。如果该方法是 post,则清除空设置为 true。如果方法是 patch,则清除空为 false。就我而言,该方法是修补程序,因此出现了问题。

关于symfony - 完全清除表单集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29391438/

相关文章:

ajax - 创建 'Ajaxified' 表单字段类型

Symfony2 选择字段不起作用

symfony - 多文件验证 : "This value should be of type string"

c# - 如何从具有复杂键的 FormCollection 构建 C# 对象

asp.net-mvc - FormCollection.AllKeys 和 FormCollection.Keys 之间的区别

javascript - AngularJS 在我的 SF2 应用程序中不起作用

Symfony5 形式 : how to disable "required" for all fields by default?

c# - ASP.NET 移动 View 中的 FormCollection 为空

php - 在 PHP/Symfony2 应用程序中与虚拟主机交互

php - 如何将 Symfony2 应用程序从本地主机移动到部署服务器(LAMP CentOS)