phpdrupaldrupal-6drupal-fapidrupal-form-validation

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?


Solution

  • 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.