1. ホーム
  2. symfony

[解決済み] symfony2 : リクエストをフォームにバインドした後にフォームのバリデーションエラーを取得する方法

2022-05-16 19:27:31

質問

ここで、私の saveAction のコード (フォームからデータが渡される場所) です。

public function saveAction()
{
    $user = OBUser();

    $form = $this->createForm(new OBUserType(), $user);

    if ($this->request->getMethod() == 'POST')
    {
        $form->bindRequest($this->request);
        if ($form->isValid())
            return $this->redirect($this->generateUrl('success_page'));
        else
            return $this->redirect($this->generateUrl('registration_form'));
    } else
        return new Response();
}

質問です。 $form->isValid() が返す false ?

どのように解決するのですか?

2つの方法が考えられます。

  • エラー時にユーザーをリダイレクトせず {{ form_errors(form) }} をテンプレートファイル内に表示する。
  • アクセスエラー配列として $form->getErrors()