我正在尝试使用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'))
//...
}
任何人都知道为什么? 感谢
答案 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
类型有这样的选项。但password
和email
类型没有此类选项。