UbuntuでSymfony 3.2を使う16.04フォームの制約にエラーを追加するにはどうすればよいですか?
私はいくつかのフィールドを持つFormType.phpを作成しました。そのうちの1つは電話番号なので、数字だけを受け入れることができる制約を加えました。ここでは携帯電話のフォームその後
->add('authorPhone', NumberType::class, array('label' => 'Numéro de téléphone',
'required' => true,
'attr' => array(
'class' => 'validate',
'id' => 'icon_telephone'
),
'constraints' => array(new Regex("#^0[1-9]([-. ]?[0-9]{2}){4}$#"))
))
ためのコードは、私のコントローラで私は数字だけ
public function indexAction()
{
$form = $this->createForm(FormType::class);
$form->get('authorPhone')->addError(new FormError('error message'));
return $this->render('app/main/index.html.twig', array(
'form' => $form->createView()
));
}
に充填する必要があることを伝えるためにエラーを追加しましたしかし、私は私のページを見たときにエラーメッセージは実際にフィールドを塗りつぶさずに表示されます。もちろん私はそれを望んでいません。
(あなたが電話番号を意味し、「ヌメロ・デ・電話」の下で見ることができます)
私は私の電話番号フィールドに数字をしたい、と文字がある場合は、エラーが表示されるべきですそれが正しいとは言えません。
を含む完全なフィールドをいただき、ありがとうございレンダリング全体のフォームをレンダリングするために小枝の構文あなたの助け、私はラインを追加しましたが、それを小枝で見るにはどうすればいいですか?コントローラに何かを追加してはいけませんか?または{{form_error(form)}}のようなもの?現時点では何もしないので、エラーメッセージなしで文字を追加することができます –
フォームをどのようにレンダリングしますか? symfonyのフォームテンプレートは、エラーを自動的にレンダリングします。 config.ymlの設定はどうですか:twig:form_themes? –
私はこれをコントローラに追加しました: ' $ form = $ this-> createForm(FormType :: class); リターンます$ this->レンダリング( 'アプリ/メイン/ index.html.twig'、配列( '形式' =>ます$ form-> CREATEVIEW()、私はフォームをレンダリングする方法 ' これ、および中私は例 –