1

フォーム内で同じフォーム フィールドを繰り返す最良の方法は何ですか?


Name / Phone numberユーザーに複数の行を送信してもらいたいです。

class contactType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name1', 'text')
            ->add('phone1', 'text');

            ->add('name2', 'text')
            ->add('phone2', 'text');

            ->add('name3', 'text')
            ->add('phone3', 'text');

            ....etc
    }
}

理想的には、ユーザーが好きなだけフィールドに入力できるようにしたいと思います...

1-ここでコードを繰り返さないようにする方法はありますか?

2-これらの名前/電話番号を基になるオブジェクトにどのように保存すればよいですか?

3-配列として保存できますが、いくつかの検証ルールを適用できますか?

4

1 に答える 1

2

使用してみてください:

$builder->add('phones', 'collection', array('type' => new PhoneType()));

そして'allow_add' => true、フォームビルダーで。

フォームのコレクションを埋め込む方法クックブックのページをご覧ください。

于 2012-10-30T03:59:39.033 に答える