【发布时间】:2015-08-03 06:58:20
【问题描述】:
我在我的项目中使用 Symfony2 框架,并使用 Form 组件来创建表单。我正在使用选择输入字段类型来使用户能够多选选项,并且我正在使用插件来使用户能够订购这些选项。
不幸的是,当将表单发布到控制器时,这些选项的顺序并没有得到维护。请求具有正确的顺序,Form 组件使用choices 选项的顺序。
如何使用表单组件和选择输入字段类型维护发布顺序?
作为记录,我在 Google、Stackoverflow 和 Github 上进行了搜索,但只发现了一个关于保持 preferred_choices (https://github.com/symfony/symfony/issues/5136) 的顺序的问题。这个问题确实提到了sort 选项,但我在 Symfony2 文档中找不到这个选项。
【问题讨论】:
-
我不知道这是否可行,但您可以尝试将选择列表设置为表单的参数:
new myForm($choiceList)。您在控制器中创建该 default 列表。然后,当您发布数据时,您可以尝试使用$request->request->get('fieldName')检索新的有序列表,并将其注入您的表单中。但这将包括安全漏洞。如果用户发送一个无效的列表,这将是一个问题。 -
嗨哈金,你已经提到了安全问题,所以很遗憾,这对我没有帮助。