我正在使用 Symfony 的FormBuilder创建一个表单并通过 Twig 呈现它。
我用这个作为我的类型:
<?php
namespace Vendor\AppBundle\Form;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\AbstractType;
class RequestType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', 'text');
$builder->add('email', 'email');
$builder->add('question', 'textarea');
}
public function getDefaultOptions(array $options)
{
return array('data_class' => 'Vendor\\AppBundle\\App\\Request');
}
/**
* Returns the name of this type.
*
* @return string The name of this type
*/
public function getName()
{
return 'request';
}
}
当我渲染我的表单(使用form_widget(form.field)
)时,一切看起来都很好,除了name
字段,它不输出任何输入字段。如果我更改为“电子邮件”之类的内容,它会完美运行。
我正在使用 Sf2.3 BETA 1。关于为什么仅在文本字段中发生这种情况的任何想法?值得注意的是,除了实际的<input>
标签之外,标签、字段集和所有内容都会被输出。
编辑 1: 这是控制器代码,以备不时之需。
编辑 2:值得注意的是,这是从 Sf2.1 应用程序到 Sf2.3 BETA 1 的更新。代码已更新,但可能有问题?