Date Picker
A calendar-based date selection field with optional min/max date constraints.
Overview
The Date Picker field renders a calendar popover that allows respondents to select a specific date. It stores dates in ISO 8601 format (YYYY-MM-DD) regardless of the display format shown to the user.
You can restrict the selectable date range using minDate and maxDate. Dynamic relative values like today and today+30d are supported.
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| type | string | — | The field type identifier (e.g. "text", "email"). |
| label | string | — | Human-readable label shown above the field. |
| name | string | — | Unique machine name used as the data key in submissions. |
| required | boolean | false | When true the form cannot be submitted without a value. |
| placeholder | string | undefined | Ghost text shown inside the input when empty. |
| defaultValue | any | undefined | Pre-filled value when the form loads. |
| hidden | boolean | false | Hides the field from the rendered form (still submitted). |
| disabled | boolean | false | Renders the field as read-only and non-interactive. |
| description | string | undefined | Helper text displayed below the field label. |
| className | string | undefined | Additional CSS class applied to the field wrapper. |
| minDate | string | undefined | Earliest selectable date. ISO date string or "today", "today-Nd". |
| maxDate | string | undefined | Latest selectable date. ISO date string or "today", "today+Nd". |
| displayFormat | string | "MM/DD/YYYY" | Date format shown in the input (display only, not stored). |
| disableWeekends | boolean | false | Prevents selection of Saturday and Sunday. |
| disabledDates | string[] | [] | Array of specific ISO date strings to disable. |
JSON Schema
{
"type": "date",
"label": "Appointment Date",
"name": "appointment_date",
"required": true,
"minDate": "today",
"maxDate": "today+90d",
"disableWeekends": true,
"displayFormat": "DD/MM/YYYY"
}