Symfony2:选项“小部件”不存在

时间:2012-03-17 07:19:48

标签: php symfony

我正在尝试使用symfony2构建表单,但每当我添加widget选项以指定表单字段类型时,我都会不断收到错误消息“选项”窗口小部件“不存在”。

我正在关注那里http://symfony.com/doc/current/book/forms.html

文档中给出的示例

这是我的代码不起作用。

class UserType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
    $builder
        ->add('Name')
        ->add('Login')
        ->add('Password')//, 'text', array('widget' => 'password'))
        ->add('ConfirmPassword')//, 'text', array('widget' => 'password', 'label' =>'Confirm Password'))
        ->add('Email', 'text', array('widget' => 'email'))
        ->add('ConfirmEmail')//,'text', array('widget' => 'email', 'label' =>'Confirm Email'))    
   //...
}

任何人都知道为什么? 感谢

1 个答案:

答案 0 :(得分:7)

我相信,做你想做的事的正确方法如下:

->add('Name', 'text')
->add('Login', 'text')
->add('Password', 'password')
->add('ConfirmPassword', 'password', array('label' =>'Confirm Password'))
->add('Email', 'email')
->add('ConfirmEmail', 'email')

add方法的第一个参数是字段name(在表单中必须是唯一的)。第二个是type,它负责呈现时窗口小部件所采用的形式。内置类型列表here。第三个参数是选项数组。每个type都有自己的可能options。实际上,某些类型具有widget选项。例如date类型有这样的选项。但passwordemail类型没有此类选项。