---
title: "Optimize your forms with calendar fields"
canonical_url: "https://www.nutrient.io/guides/workflow-automation/admin-guide/forms/calendar-field/"
md_url: "https://www.nutrient.io/guides/workflow-automation/admin-guide/forms/calendar-field.md"
last_updated: "2026-06-09T10:26:34.696Z"
description: "Learn to configure calendar fields in forms, enabling easy date selection and validation, and enhancing user experience with effective guidelines."
---

# Calendar fields in forms

The calendar type field lets users select a date on a form by clicking the date in the calendar popup.

To configure the calendar field, click the pencil icon, as shown in the image below.

Under the **Basics** tab, it’s possible to edit the **Label**, **Client ID**, and **Class**.

You can also choose checkboxes for **Disabled**, **Read Only**, **Hidden**, or **Initialize with Today’s Date**, the latter of which will automatically enter the date on which the form started.

## Validation

Under the **Validation** tab, it’s possible to specify that the calendar field is required. You can also allow users to only select future dates, and you can specify a range of minimum and maximum dates.

It’s also possible to choose an absolute date or a relative date.

### Absolute dates

Specify an exact date by selecting **Absolute** from the **Type** dropdown and entering a static date.

### Relative dates

Describe the date by selecting **Relative** from the **Type** dropdown. Relative date limits are calculated every time a form is presented to the user.

Some examples of relative dates are:

- The first of next month

- The last day of the month

- The first day of March

- The last day of the month

After selecting your date input, you’ll see the date relative to the current date on the right side. This date could change at the form run time.

#### Guidelines when using text to describe your limits

When using relative dates, here are some guidelines to consider.

- **Start of week** — Weeks start on a Monday, and _next week_ will run from Monday morning to Sunday night.

- **Future bias** — _May 7th_ will prefer a May 7th in the future.

- **This/next/last** — Weeks or months with this text, e.g. _this/next/last week_, are mostly straightforward.

- **This monday**
  - _monday_ will always refer to itself or the upcoming monday.
  - Saying _this monday_ on a Monday is the day itself.
  - Saying _this monday_ on a Tuesday is next week.
  - Likewise, _this june_ in June is June itself. _this june_ in any other month is the next June in the future.

- **Last monday**
  - If it’s Tuesday, _last monday_ will not mean yesterday.
  - Saying _last monday_ on a Tuesday will be -1 week.
  - Saying _a week ago monday_ will also work.
  - Saying _this past monday_ will return yesterday.

- **Next wednesday**
  - If it’s Tuesday, _next wednesday_ will not be tomorrow. It’ll be a week after tomorrow.
  - Saying _next wednesday_ on a Tuesday will be +1 week.
  - Saying _a week wednesday_ will also be +1 week.
  - Saying _this coming wednesday_ will be tomorrow.

- **Nth week** — The first week of a month or a year is the first week _with a thursday in it_. As expected, _first monday of January_ will always be in January.

- **Seasons** — By default, _this summer_ will return **June 1 – Sept 1**, which is summer in the Northern Hemisphere. You can use something like _first day of summer_.

- **Invalid dates**
  - _january 34th 2020_ will return **Jan 31 2020**.
  - _6th week of february_ will return the second week of March.

- **Miscellaneous**
  - _thursday the 16th_ will be set to the 16th, even if it’s not a Thursday.
  - _in a few years_ will set to two years from now.

For more examples and guidelines, refer to the [documentation](https://github.com/spencermountain/compromise/tree/master/plugins/dates#things-it-does-well).
---

## Related pages

- [Add attachments to your forms](/guides/workflow-automation/admin-guide/forms/adding-attachments-to-forms.md)
- [Dynamic calculations for streamlined form entries](/guides/workflow-automation/admin-guide/forms/calculations-in-forms.md)
- [Configure contact search groups](/guides/workflow-automation/admin-guide/forms/contact-search-question.md)
- [Create a new form](/guides/workflow-automation/admin-guide/forms/create-a-new-form.md)
- [Create form questions](/guides/workflow-automation/admin-guide/forms/create-form-questions.md)
- [CSS styling](/guides/workflow-automation/admin-guide/forms/copy-and-paste.md)
- [Customize forms with CSS](/guides/workflow-automation/admin-guide/forms/css-styles-in-forms.md)
- [Master form question editing with ease](/guides/workflow-automation/admin-guide/forms/edit-form-questions.md)
- [Design custom HTML forms with full control](/guides/workflow-automation/admin-guide/forms/developer-form.md)
- [Form library overview](/guides/workflow-automation/admin-guide/forms/form-library-overview.md)
- [Edit and preview your forms effectively](/guides/workflow-automation/admin-guide/forms/form-preview-and-editor.md)
- [Mastering form rules for dynamic responses](/guides/workflow-automation/admin-guide/forms/form-rules-show-hide.md)
- [Form template management](/guides/workflow-automation/admin-guide/forms/form-templates.md)
- [Import and export forms](/guides/workflow-automation/admin-guide/forms/importing-and-exporting-forms.md)
- [Import and export grid data](/guides/workflow-automation/admin-guide/forms/importing-data-into-grids.md)
- [Forms](/guides/workflow-automation/admin-guide/forms.md)
- [Integrate with external REST APIs](/guides/workflow-automation/admin-guide/forms/restful-data-elements.md)
- [Enhance form management with request records](/guides/workflow-automation/admin-guide/forms/set-up-a-request-record.md)
- [Use AI data extraction to populate forms](/guides/workflow-automation/admin-guide/forms/using-ai-data-extraction-question.md)
- [Generate forms using AI](/guides/workflow-automation/admin-guide/forms/using-ai-form-generator.md)
- [Using grid questions in forms](/guides/workflow-automation/admin-guide/forms/using-the-grid-question.md)

