如何在Symfony2中创建任意表单字段?

时间:2014-01-21 03:01:30

标签: symfony symfony-forms

我一直在阅读Symfony2表单(http://symfony.com/doc/current/book/forms.html),我一直在网上搜索自定义表单的方法,但没有成功。

我的第一个问题是在表单中创建任意表单字段。不基于我的数据库模型/实体的字段。我不想在表单字段中保存值,但在处理表单时我不需要它们。

e.g。我希望在我的批准页面上显示2个无线电字段。 “赞成”,“拒绝”。当我尝试在表单上添加批准的单选按钮时,出现错误,表示“approve”没有get / set函数。

$em = $this->getDoctrine()->getEntityManager();
$application = $em
    ->getRepository('MyApp\GenericBundle\Entity\Application')
    ->find($applicationId);

$form = $this->createFormBuilder($application)
    ->setMethod('POST')
    ->add('approved', 'radio')
    ->getForm();

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

使用允许您阻止字段保留的mapped属性

$form = $this->createFormBuilder($application)
    ->setMethod('POST')
    ->add('approved', 'radio', array('mapped' => false))
    ->getForm();

Doc:http://symfony.com/doc/current/reference/forms/types/form.html#mapped

答案 1 :(得分:-1)

如果您尝试在表单上执行两个操作,则可以使用备用提交按钮;一个用于“批准”一个用于“拒绝”