2012-03-17 20 views
4

symfony2を使用してフォームを構築しようとしていますが、ウィジェットオプションを追加するたびに 'The option'ウィジェットが存在しません。フォームフィールドタイプ。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'))  
    //... 
} 

誰でも知っていますか? おかげ

答えて

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です。 2番目はtypeであり、レンダリング時にウィジェットが採用したフォームを担当します。組み込みタイプのリストhere。 3番目の引数はオプションの配列です。それぞれtypeには、それ自身の可能なoptionsのセットがあります。実際に、タイプの中にはwidgetオプションがあります。たとえば、dateタイプにはこのようなオプションがあります。しかし、passwordemailにはこのようなオプションはありません。

+0

ありがとう、それは今動作します:) – David

関連する問題