如果某个表单中包含一个包含集合的实体,我就不能将错误冒充到集合级别。
实施例: 实体ProductBundle拥有产品实体集合。产品实体的字段为 name 和 price 。 当字段包含错误时,它们会显示在Collection级别。
可视化:
ProductBundle
名称:SuperpricyBundle
Available_Until:2018/1包含的商品:(< - 默认错误展示位置,尽管
<小时/> (&lt; - 可能在收集实体级别放置错误)error_bubbling = false
)
位置:1
名称:咖啡机
价格:-50.00&lt; - 错误!! (&lt; - 可能在收集实体级别放置错误) 位置:2
名称:6杯价格:20.00
我可以在所有级别设置error_bubbling => false
(实体级别,收集级别,收集实体级别),错误不断冒泡到收集级别。
不可能防止冒泡和/或冒泡到集合实体级别。
答案 0 :(得分:0)
我在其他地方发现错误。它与Symfony处理表单输入的方式有关。
我的表单集是动态的。我添加了带有新索引的新项目(包括产品),从任意高数字开始,如111111:如果最后一个存储的元素具有输入索引[4]
,则下一个插入的将是111111
,下一个111112
等等。
我这样做是因为与其他用户的副作用:
如果您有3个项目存储[0]...[2]
并且您在表单中添加了一个索引为[3]
的新项目并提交,同时另一个用户也插入了一个新项目,这将是索引为[3]
,因此被替换。
我还无法解决这个问题。
但设置任意高指数并不起作用。 Symfony始终从[0]
计入所有现有实体[n]
,第一个添加的项目将具有索引[n+1]
。这至少适用于表单错误。
来自
name='myform_mycollection_[500]_field'
的表单输入错误 提交后,$form->handleRequest(..)
是表单输入中的错误name='myform_mycollection_[n+1]_field'
!