8.5.x FormState.php FormState::setRedirect($route_name, array $route_parameters = [], array $options = [])
8.0.x FormState.php FormState::setRedirect($route_name, array $route_parameters = array(), array $options = array())
8.1.x FormState.php FormState::setRedirect($route_name, array $route_parameters = array(), array $options = array())
8.2.x FormState.php FormState::setRedirect($route_name, array $route_parameters = array(), array $options = array())
8.3.x FormState.php FormState::setRedirect($route_name, array $route_parameters = [], array $options = [])
8.4.x FormState.php FormState::setRedirect($route_name, array $route_parameters = [], array $options = [])
8.6.x FormState.php FormState::setRedirect($route_name, array $route_parameters = [], array $options = [])

Sets the redirect for the form.

Parameters

string $route_name: The name of the route

array $route_parameters: (optional) An associative array of parameter names and values.

array $options: (optional) An associative array of additional options. See \Drupal\Core\Url for the available keys.

Return value

$this

Overrides FormStateInterface::setRedirect

See also

\Drupal\Core\Form\FormSubmitterInterface::redirectForm()

File

core/lib/Drupal/Core/Form/FormState.php, line 1064
Contains \Drupal\Core\Form\FormState.

Class

FormState
Stores information about the state of a form.

Namespace

Drupal\Core\Form

Code

public function setRedirect($route_name, array $route_parameters = array(), array $options = array()) {
  $url = new Url($route_name, $route_parameters, $options);
  return $this
    ->setRedirectUrl($url);
}

Comments

smk-ka’s picture

If you're coming from D7, note that due to caching you can't modify the form_state from hook_form_alter() anymore. Instead, you need to attach a #submit handler to any action buttons available on the form, e.g.:

$form['actions']['submit']['#submit'][] = 'mymodule_form_submit';

and set the redirect destination in there:

function mymodule_form_submit($form, FormStateInterface $form_state) {
  $form_state->setRedirect('user.page');
}