---
url: 'https://metadrop.net/en/events/drupaldevdays-2023-the-form-api-workflow'
title: 'The Form API Workflow'
author:
  name: 'Ricardo Sanz'
  url: 'https://metadrop.net/es/sobre/ricardo-sanz'
date: '2025-09-25T12:34:42+00:00'
updated: '2026-10-08T09:46:04+00:00'
type: website
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:
  - 'Drupal Austria'
  - 'Form API'
  - DrupalDevDays
image: 'https://metadrop.net/sites/default/files/styles/full/public/2025-09/ddd2203-Vienna-formapi.png.webp?itok=pP8MOzZX'
published: true
og:
  site_name: Metadrop
  'image:type': image/webp
  'image:width': '1315'
  'image:height': '740'
  'image:alt': 'The Form API Workflow'
  locale: en_US
  'locale:alternate': es_ES
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      '@type': Event
      url: 'https://metadrop.net/en/events/drupaldevdays-2023-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: 'https://schema.org/OfflineEventAttendanceMode'
      image:
        '@type': ImageObject
        url: 'https://metadrop.net/sites/default/files/styles/full/public/2025-09/ddd2203-Vienna-formapi.png.webp?itok=pP8MOzZX'
      eventStatus: 'https://schema.org/EventScheduled'
      startDate: '2023-07-21T14:00:00+0200'
      '@id': 'https://metadrop.net/en/events/drupaldevdays-2023-the-form-api-workflow#event'
      location:
        '@type': Place
        address:
          '@type': PostalAddress
          addressCountry: AT
      performer:
        '@type': Person
        name: 'Ricardo Sanz'
      organizer:
        '@type': Organization
        name: 'Drupal Austria'
    -
      '@type': Organization
      '@id': 'https://metadrop.net/#organization'
      url: 'https://metadrop.net/'
      name: Metadrop
      sameAs:
        - 'https://www.drupal.org/metadrop'
        - 'https://x.com/metadrop'
        - 'https://asociaciondrupal.es/partner/metadrop'
        - 'https://www.linkedin.com/company/metadrop'
      telephone: '+34910053180'
      contactPoint:
        '@type': ContactPoint
        telephone: '+34910053180'
        email: hola@metadrop.net
        availableLanguage:
          - Spanish
          - English
        contactType: 'customer service'
      logo:
        '@type': ImageObject
        url: 'https://metadrop.net/modules/custom/metadrop_schema/images/logo-metadrop-500-500.jpg'
        width: '500'
        height: '500'
      address:
        '@type': PostalAddress
        streetAddress: 'Calle Virgen de Nuria 23'
        addressLocality: Madrid
        addressRegion: Madrid
        postalCode: '28027'
        addressCountry: ES
    -
      '@type': ItemPage
      '@id': 'https://metadrop.net/en/events/drupaldevdays-2023-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

DrupalDevDays

 Austria 

 

Drupal Austria

Friday, July 21, 2023

 

 [Event](https://ddd23.drupalcamp.at/form-api-workflow)[Slides](https://rsanzante.github.io/drupaldevdays-2023-form-api/) 

 

 

 



 



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. The session features the [Form API Internal Workflow](https://www.drupal.org/docs/drupal-apis/form-api/form-api-internal-workflow#) that was contributed to help developers better understand the Form API.

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