How do I alter the submit function? I want to do array_unshift for submit function in D8.
Array_unshift working perfectly for validate function but not submit function.
Below is my code:

function example_form_alter(&amp;$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  if ($form_id == "commerce_order_default_edit_form") {
    array_unshift($form['#validate'], 'example_manual_validate');
    array_unshift($form['#submit'], 'example_manual_submit');
  }
}
function example_manual_validate(&amp;$form, \Drupal\Core\Form\FormStateInterface &amp;$form_state) {
  $values = $form_state-&gt;getValues();
  dsm($values);
}

function example_manual_submit(&amp;$form, \Drupal\Core\Form\FormStateInterface &amp;$form_state) {
  $values = $form_state-&gt;getValues();
  dsm($values);
}
Here am altering the submit handler of the article content type while creating new article type contents 

  /**
     * Implements hook_form_alter().
     */
    function example_module_form_alter(&amp;$form, FormStateInterface $form_state,$form_id) {
   // dsm($form_id);

      switch ($form_id) {

        case 'node_article_form':      // New article nodes.
        // Attach our custom submit handler.
     array_unshift( $form['actions']['publish']['#submit'], 'example_module_node_article_form_submit');
          break;

      }

    }

    function example_module_node_article_form_submit($form, FormStateInterface $form_state) {
      drupal_set_message('custom submit ...');
    }


Source