2012-03-17 68 views
4

我試圖使用symfony2來構建一個表單,但是我一直收到錯誤消息'The option'小部件「不存在」,每當我添加小部件選項以指定一個表單字段類型。Symfony2:選項「小部件」不存在

我下面的文檔有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'))  
    //... 
} 

任何人都知道爲什麼? 感謝

回答

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,它負責widget在呈現時所採用的表單。內置類型列表here。第三個參數是選項數組。每個type都有自己的一套可能的options。事實上,有些類型有widget選項。例如date類型有這樣的選項。但passwordemail類型沒有這種選項。

+0

謝謝,它現在的作品:) – David 2012-03-17 08:25:50

相關問題