Helena Standaert
Helena Standaert

Reputation: 569

Symfony2 - Redirect after form processing in form type

I'm trying to figure out how to work with dynamic forms/form types in Symfony 2. I've managed so far, but what I don't know and can't find is how to redirect after the POST_SUBMIT event.

Do I do it inside the controller or does it happen directly in the form type class? What happens atm is the page reloads, but the data in the page is not updated. Plus I would like to redirect to another page.

Thanks in advance.

Upvotes: 0

Views: 426

Answers (1)

Brewal
Brewal

Reputation: 8189

From the doc :

if ($form->isValid()) {
    // perform some action, such as saving the task to the database

    return $this->redirect($this->generateUrl('task_success'));
}

the isValid() method will return true only when a POST request has been performed and when the data sent is valid.
If you want to redirect after POST request even in the case the form is not valid, you can do this :

public function newAction(Request $request)
{
    // ...
    if ($request->isMethod('POST')) {

        if ($form->isValid()) {
            // perform some action...
        }

        return $this->redirect($this->generateUrl('page_after_post_request'));
    }
    // ...
}

Upvotes: 1

Related Questions