Luiz Guilherme
Luiz Guilherme

Reputation: 1621

Drupal wizard form: Validation and previous button

In my drupal6 site I have wizard form. I implemented it with FormAPI using form storage and the rebuild property. My form validation is being done with the #required property and with functions in the #element_validate property. It's working fine but for one thing, when I click on the previous button the form is being validated and I don't want it to. Is there a smart and right way to disable the validations when a specific button of the form is clicked?

Upvotes: 1

Views: 1603

Answers (3)

aterchin
aterchin

Reputation: 39

Kevin's answer works. You could also try http://drupal.org/project/skip_validation where you would add an additional property to your previous button,'#skip_validation' => TRUE

Upvotes: 1

Kevin Hammer
Kevin Hammer

Reputation:

  // hack to clear validation errors during wizard processing
  form_set_error(NULL, FALSE, TRUE);
  unset($_SESSION['messages']['error']);

Upvotes: 1

Eaton
Eaton

Reputation: 7415

The only way to do this cleanly (unfortunately) is to avoid the use of #required = TRUE and validate it yourself in a validation handler, taking into account knowledge of what 'step' the form is on in the wizard process.

One common approach is to accumulate all of your in-progress data in $form_state['storage'], where it will persist between rebuilds.

Upvotes: 1

Related Questions