我正在一个项目中使用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', ''));