【问题标题】:Use request data as hidden input field使用请求数据作为隐藏输入字段
【发布时间】:2014-03-15 00:22:47
【问题描述】:

我想将请求标头(http 标头)中的数据用作表单中的隐藏字段。
最简单的方法是通过表单构建器添加一个新的隐藏字段并设置数据。

但我想将它用于不止一种形式,所以自己的类型会很好。
通过参数数组设置数据或通过构造函数传递它们应该符合这个要求。

这将是“大量”复制/粘贴工作。我不想要这个,我在寻找一个好方法。更接近框架。
我已经读到我可以将 closures 用于带有 OptionsResolverInterface 的选项。

是否有可能将它们用于此要求?
或者是通过参数数组/构造函数将 Request 对象传递给类型的唯一方法?

也许有可能使用事件监听器或类似的东西。

提前感谢任何提示。

【问题讨论】:

  • 您可以使用构造函数将变量传递给表单类型
  • 是的,当然,我正在寻找一种比那样做“更好”的方法。 :)

标签: symfony symfony-forms silex symfony-2.4


【解决方案1】:

您可以使用向构建器添加字段的功能为表单类型创建特征或抽象类

类似的东西

function addFields($builder)
{
    $builder->add('fildName1', 'hidden');
    $builder->add('fildName2', 'hidden');
    .....
}

【讨论】:

  • 那我该如何获取请求数据呢?
  • 好吧,通过构造函数。
  • 你试过Request::createFromGlobals()吗?见link
  • 好主意,我会尽力给你反馈。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-21
  • 2023-03-04
相关资源
最近更新 更多