如何让用户在表单上添加小部件?
假设用户可以添加1个或更多网站。 如何让他点击“+”按钮添加新的小部件以添加第二个网站?
由于
答案 0 :(得分:1)
我这样做的方法是覆盖表单类上的 bind(),并将元素添加到表单对象上的特殊受保护属性。您还可以将它们添加到嵌入式表单中,专门用于处理此动态数量的输入。为嵌入式表单提供一个公共方法,如 addWebsite()。
在 bind()中添加它们后,从传递的 $ taintedValues 数组中取消设置,以便CSRF验证。
然后覆盖 doSave()以从表单对象中获取它们,或者将嵌入的表单保存在类似的地方。
我无法“最佳实践”这一点,但如果您有时间使用工具并且在多种形式中使用相同的处理方式,您将需要尝试嵌入式表单方式。