Documentation Index
Fetch the complete documentation index at: https://docs.declarativeforms.com/llms.txt
Use this file to discover all available pages before exploring further.
If you have not created a form before, start with Create a form.
version: 1
title: "Event registration"
description: "Register for the conference and confirm your details."
sections:
- id: contact
title: "Contact information"
fields:
- id: full_name
type: short_text
label: "Full name"
placeholder: "Jane Smith"
validators:
- required
- id: email
type: email
label: "Email address"
placeholder: "jane@example.com"
validators:
- type: required
message: "Please enter your email address."
- id: confirm_email
type: email
label: "Confirm email address"
placeholder: "jane@example.com"
validators:
- required
# Ensure the confirmation matches the email field above.
- type: expression
expression: "data.confirm_email === data.email"
message: "Email addresses do not match."
next: schedule
- id: schedule
title: "Schedule"
fields:
- id: arrival_date
type: date
label: "Arrival date"
validators:
- required
- type: min
value: "2026-06-01"
message: "The event starts on 1 June 2026."
- type: max
value: "2026-06-05"
message: "The event ends on 5 June 2026."
- id: departure_date
type: date
label: "Departure date"
validators:
- required
# Departure must be on or after the selected arrival date.
- type: expression
expression: "data.departure_date >= data.arrival_date"
message: "Departure date must be on or after the arrival date."
- id: guests
type: number
label: "Number of guests"
placeholder: "1"
validators:
- required
- type: min
value: 1
message: "At least one guest is required."
- type: max
value: 10
message: "No more than 10 guests per registration."
next: done
connections:
- type: email
to: "events@example.com"
subject: "Registration from {{data.full_name}}"
include_responses: true
The expression validator can reference any field by its id through the data object. This lets you compare two fields in the same section — like matching email addresses — or validate a field in a later section against one submitted earlier — like ensuring a departure date falls after the arrival date.
The required validator can be written either as - required or as an object with type: required when you want to provide a custom message.