Isn't it possible to have multiple buttons  along with a submit button?
Jaypan gave me the answer.


  
  Required checks happen irregardless of validation - they happen before any other validation even occurs.
  You cannot skip the default _validation() function, it is always executed
  When you choose limit_validation_errors(), anything that is not part of that array is not submitted.
  
  
  As such, you will want to explicitly declare your submit and validate functions for the original submit button, and leave the second button as-is, using the default submit and validate functions:

function some_form($form, &amp;$form_state) {
  // Form definition not shown.
  $form['submit1'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; t('Submit 1'),
    '#validate' =&gt; array('my_explicit_validate'),
    '#submit' =&gt; array('my_explicit_submit'),
  );

  $form['submit2'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; t('Submit 2'),
  );

  return $form;
}

// my_form_validate is not created, since we don't want to validate the second submit button, but we do want the submit function.
function my_form_submit($form, &amp;$form_state) {
  // You need to check which submit button was pushed, as this function
  // will be run for both buttons, but you only want do something if it was the 
  // secondbutton.
  if($form_state['values']['op'] == $form_state['values']['submit2']) {
    // Second submit button's submit function.
  }
}

function my_explicit_validate($form, &amp;$form_state) {
  // Validation for the first submit button.
}

function my_explicit_submit($form, &amp;$form_state) {
  // First submit button's submit function.
}

  
  To deal with your required issue, you will need to not set #required =&gt; TRUE for the elements, and check them manually in your validation function (the function explicitly declared for the first button). If you want to have the required marks, I think you can manually add them to the element title, or you can override the theme function for those elements and manually add them there.