---
url: 'https://metadrop.net/events/the-form-api-workflow'
title: 'The Form API Workflow'
author:
  name: Root
  url: 'https://metadrop.net/es/sobre/metadrop'
date: '2024-03-25T15:11:34+00:00'
updated: '2026-06-04T11:26:59+00:00'
type: article
summary: |-
  The Form API is a Drupal powerful system to create all kind of forms. However, given its complexity, it may be hard to completely understand it and is easy to end up fighting against it when building complex forms.
  The existent documentation is good but there's a lack of a general but detailed picture of the whole form request flow from the form building to the end submission, including all possible rebuilds due to validation errors, requests in a multi-step form or other form actions.
tags:
  - DrupalCon
image: 'https://metadrop.net/sites/default/files/styles/full/public/2021-01/DrupalCon.png.webp?itok=RhePOXd1'
published: true
og:
  determiner: Automatic
  site_name: Metadrop
  street_address: 'Calle Manuel Luna, 12, 3 Dcha'
  locality: Madrid
  region: Madrid
  postal_code: '28020'
  country_name: España
  email: hola@metadrop.net
  phone_number: '910053180'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      '@type': Event
      url: 'https://metadrop.net/events/the-form-api-workflow'
      name: 'The Form API Workflow'
      description: |-
        The Form API is a Drupal powerful system to create all kind of forms. However, given its complexity, it may be hard to completely understand it and is easy to end up fighting against it when building complex forms.
        The existent documentation is good but there's a lack of a general but detailed picture of the whole form request flow from the form building to the end submission, including all possible rebuilds due to validation errors, requests in a multi-step form or other form actions.
      eventAttendanceMode: Offline
      image:
        '@type': ImageObject
        url: 'https://metadrop.net/sites/default/files/styles/full/public/2021-01/DrupalCon.png.webp?itok=RhePOXd1'
      startDate: '2022-10-19'
      endDate: '2022-10-19'
      location:
        '@type': Place
        name: 'Place                      Country                Czechia'
        address:
          '@type': PostalAddress
          addressLocality: 'Place                      Country                Czechia'
          addressCountry: 'Place                      Country                Czechia'
      performer:
        '@type': Organization
        name: DrupalCon
      organizer:
        '@type': Organization
        name: DrupalCon
    -
      '@type': Organization
      '@id': 'https://metadrop.net/#organization'
      url: 'https://metadrop.net/'
      name: Metadrop
      sameAs:
        - 'https://www.drupal.org/metadrop'
        - 'https://twitter.com/metadrop'
        - 'https://asociaciondrupal.es/partner/metadrop'
        - 'https://www.linkedin.com/company/metadrop'
      logo:
        '@type': ImageObject
        url: 'https://metadrop.net/themes/custom/mdrop_radix/logo-metadrop-500-500.jpg'
        width: '500'
        height: '500'
    -
      '@type': ItemPage
      '@id': 'https://metadrop.net/events/the-form-api-workflow'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Home
            item: 'https://metadrop.net/en'
          -
            '@type': ListItem
            position: 2
            name: Events
            item: 'https://metadrop.net/en/events'
      publisher:
        '@type': Organization
        '@id': 'https://metadrop.net/#organization'
---
 1. [Events](https://metadrop.net/en/events)
 
 # The Form API Workflow

DrupalCon

 Czechia 

 

Wednesday, October 19, 2022

 [Event](https://events.drupal.org/prague2022/sessions/form-api-workflow)[Slides](https://rsanzante.github.io/drupalconprague-2022-form-api-workflow/) 

 

 

 



 



The Form API is a Drupal powerful system to create all kind of forms. However, given its complexity, it may be hard to completely understand it and is easy to end up fighting against it when building complex forms.

The existent documentation is good but there's a lack of a general but detailed picture of the whole form request flow from the form building to the end submission, including all possible rebuilds due to validation errors, requests in a multi-step form or other form actions.

This talk will explain all the phases of a form request flow, from the initial build, alterations, send to client, form rebuild (when and why), to cache mechanisms, handlers execution or how AJAX requests are handled.

Attendees should have basic technical knowledge about involved mechanisms (HTTP requests, Render Arrays, PHP POO and form basics). The session will try to give a general knowledge about the complete life-cycle of a form request detailing its key aspects. After this session, you'll understand how the Form API and Drupal handle forms and you'll be more confident when you need to alter, extend or use forms in a complex or advanced fashion.



Speakers

 

 



Ricardo Sanz

CTO