Symfony2 とCraueFormFlowBundleを使用していますマルチステップ フォームを作成します。私の繰り返しの電子メールフィールドを除いて、すべてがうまくいっています。私は、私のために、私が望むラベルを付ける方法を見つけることができません。form_widget(...) を使用して Twig ビューで自分でフォームをレンダリングし、ラベルを書いています。私はクライアントが望むものに従ってすべてを配置します。ここで、彼は電子メールのラベルを「電子メール*」および「電子メールの確認*」として表示したいと考えています (星は必須であるため)。form_row() を使用して繰り返し要素をレンダリングすると、フォームにエラーが表示されなくなります (ただし、ラベル、スナップを制御できます)。エラーが表示される唯一の方法は (理由は聞かないでください)、繰り返される要素オブジェクト全体を指す form_widget(form.giver.email) を使用することです。問題は、form_widget を使用して繰り返される要素全体をレンダリングすることで、ラベルを制御できないことです。
繰り返される要素全体をレンダリングすることにより、「first_name」および「second_name」パラメーターを使用してラベルを出力します。明らかな理由により、これらのパラメーターに大文字、ダッシュ、星を入れることはできません。オプション配列にラベルを設定しようとすると、Symfony2 doc で説明されているように、そのラベルが両方のフィールドに渡されます...
twig で ".first" と ".second" を使用して印刷しようとしましたが、これらが FormView に存在しないというエラーが表示されます。
今私が欲しいのは、2 つのラベルを別々に設定できることだけです! これが私の現在のコードです:
$builder->add('email', 'repeated', array(
'type' => 'email',
'first_name' => 'email',
'second_name' => 'confirm',
'invalid_message' => 'The e-mails you provided did not match.',
'error_bubbling' => false
));
これにより、ラベルが「email」および「confirm」として出力されます。ここでは、「オプション」配列を使用しています。
$builder->add('email', 'repeated', array(
'type' => 'email',
'first_name' => 'email',
'second_name' => 'confirm',
'invalid_message' => 'The e-mails you provided did not match.',
'error_bubbling' => false,
'options' => array(
'label' => "TESTTT"
),
));
これにより、両方の繰り返しフィールドに「TESTTT」ラベルが印刷されます。これについて私にできることはありますか?上記のように、フォームの送信時に form_row() を使用しても、メールが等しくない場合や空白の場合、エラーは表示されません。したがって、 form_widget() を使用して、繰り返されるオブジェクト全体をレンダリングする必要があります。
お時間をいただきありがとうございます。