About Multi-step forms

To create in a few minutes a complex multistep form using mforms, watch following tutorial on how to automate code writing for mforms with Genova.

Generating complex multistep form in Drupal with Genova.

Mforms module is a set of tools that help to create advanced multistep forms in Drupal. It can be modified and extended so a developer has full control of the way how individual form steps will be handeled, how and where will data be between form steps stored, which step will follow, how form controls will act and how the output will be displayed.

The main differences from existing multistep solutions for Drupal are robustness, flexibility and extensibility. You can even dynamically change the steps sequence and jump from one step to another regardless of their order.


  • Statemachine that handles steps flow - no need for "iffing" logic of which step is to follow.
  • Store that keeps data between form steps. Currently available session store and $form_state store.
  • Three different out-of-the-box form controls.
  • You can easily extend existing controls implementations to alter its behavior.
  • Full compatibility with with Drupal form API.
  • Each form step carries info of which step is current and which is previous and next.
  • Theming is simple as mforms provide css classes with current status. So creating a cool looking web wizard with progress indicator is just a matter of use of mforms and knowledge of css.
  • Ajax support out of the box - it allows to build multistep forms i.e. in modal window or just provide a cool functionality for end user.




This module integrates with Genova to provide a fast way to generate basic multistep form structure.

NOTE: in order to use Mforms with latest Genova dev snapshot, you need to also use the dev snapshot of Mforms.

> drush gen-cc YOUR_MODULE PATH/TO/mforms

Project information