如果形式isValid()如何重定向?

时间:2015-07-27 14:35:14

标签: symfony

如果表单是isValid,如何重定向?

此代码使表单永远无效,点击提交只需重新加载表单页面。

1

/**
 * @Route("/a", name="a")
 * @Method("GET")
 */
public function aAction(Request $request)
{
    return $this->render('AppBundle:Ksiazka:a.html.twig', array());
} 

模板a.html.twig

{% render (controller('AppBundle:Ksiazka:asearch')) %}

2

/**
 * @Route("/asearch", name="asearch")
 * @Method("GET")
 */
public function asearchAction(Request $request)
{
    $form = $this->createFormBuilder()
        ->setMethod('GET')
        ->add('input', 'text')
        ->add('save', 'submit')
        ->getForm();

    $form->handleRequest($request);

    if ($form->isValid()) {
        $data = $form->get('input')->getData();
        return $this->redirect($this->generateUrl('asearch_results', array('ksiazki' => $data)));
    }

    return 
    $this->render('AppBundle:Ksiazka:asearch.html.twig', 
        array('form'   => $form->createView()));
}    

模板asearch.html.twig

{{ form(form) }}

3

/**
 * @Route("/asearch/results/{ksiazki}", name="asearch_results")
 * @Method("GET")
 */
public function asearchResultsAction(Request $request, $ksiazki=false)
{
    return array( 'entity' => $ksiazki);
}    

模板asearch_results.html.twig

{{ entity }}

1 个答案:

答案 0 :(得分:1)

->setAction($this->generateUrl('asearch'))

中添加行createFormBuilder()