我有一些嵌套的formTypes,如下所示:
Form1
其中包含Form2
,其中包含Form3
根据某些信息(例如,如果当前用户是管理员),我想更改Form3
上某个字段的类型。
问题是我不知道该怎么做,因为setOption
对象中没有$builder
方法,我可以从Form1
拨打电话。
此外,我不知道我应该如何组织我的表格,事实上Form3
也包含在其他一些形式中,而且每次都是几乎相同的字段,只有少数必须改变,这是为什么我提出Form3
表格以避免冗余。
答案 0 :(得分:0)
我认为您应该使用事件订阅者根据某些数据动态删除/添加字段。
此类事件订阅者允许您在创建表单后修改表单数据,并且它可以在Form实例上处理而不是在Type上。您应该找到更多信息here
BTW关于所需的依赖关系,如安全上下文或您可以create given form type as service并注入所需对象