Last updated October 22, 2018

Understanding the flow--or life cycle--of a Drupal form will help you better understand how to build new forms or influence existing ones. This tutorial will help you understand the complete life cycle of a Drupal form: receiving the request from a browser, displaying a page with a form, rendering the form as HTML, handling the submitted form, validating input, handling errors, and processing data. We'll point out the common places that module developers might want to inject additional functionality into the process and link to tutorials with more details about how to do so.

In this tutorial, we'll:

  • List the major steps in the life cycle of a Drupal form in the order that they are encountered
  • Describe how Drupal determines which form to display, and/or which form handles an HTTP POST request
  • Understand the role of FormStateInterface in the life cycle of a form

By the end of this tutorial, you should have a solid understanding of the life cycle of a form within Drupal.