在 Symfony2 中向表单添加变量


Add variables to a form in Symfony2

我正在一个项目中使用Symfony 2,我需要在我的表单中有一个依赖选择。目前我正在按照本教程 showmethecode.es 及其工作。

但是我也在选择中使用选项组,我真的需要在客户端添加一些额外的变量和一些逻辑。

我的问题是,如何将变量添加到窗体(在客户端),并将它们联接到 Type 类中。

您可以阅读自定义表单字段类型和数据转换器:

  • http://symfony.com/doc/current/cookbook/form/create_custom_field_type.html
  • http://symfony.com/doc/current/cookbook/form/data_transformers.html

或者,您自己创建表单并从发送操作中的请求中获取数据。但是,您应该在创建表单时创建一个CSRF令牌,并在提交表单时对其进行检查:

$this->get('security.csrf.token_manager');
//Symfony'Component'Form'Extension'Csrf'CsrfProvider'SessionCsrfProvider
$token = $csrf->getToken("bundlenamespace_formname");

并像这样验证它:

$this->get('security.csrf.token_manager')->isTokenValid($request->get('_token', ''));