Calendar Field

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

To configure the Calendar field click on the pencil icon:

(click on the image for a larger view)

Under the Basics tab, you can edit the Label, Client ID, and Class.

You can also make the field Disabled, Read Only, Hidden, or Initialize with Today's Date, which will automatically enter the date on which the form is started.

(click on the image for a larger view)

Under the Validation tab, you can make the Calendar field Required, allow users only to select Future Dates, and Select Minimum and Maximum Dates.

You can choose an Absolute Date or a Relative Date for Min and Max dates.

Absolute Dates

You can specify an Absolute (Exact) date by selecting Absolute from the Type dropdown and selecting a Static date.

(click on the image for a larger view)

(click on the image for a larger view)

Relative Dates

Selecting Relative from the Type dropdown allows you to describe the date.  Relative date limits are calculated everytime the form is presented to the user. 

(click on the image for a larger view)

Some examples would be: the first of next month, the last day of the month, the first day of march, the last day of the month, etc. You will see it generate the Date relative to the current date on the right side. This date could change at the form run time.  

(click on the image for a larger view)

Guidelines when using text to describe your limits.

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: Named-weeks or months eg 'this/next/last week' are mostly straightforward.

  • This monday:  
    • A bare 'monday' will always refer to itself, or the upcoming monday.
    • Saying 'this monday' on monday, is itself.
    • Saying 'this monday' on tuesday , is next week.
    • Likewise, 'this june' in June, is itself. 'this june' in any other month, is the nearest 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 will 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 northern hemisphere. So 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 2nd week of march.

Misc:

  • 'thursday the 16th' - will set to the 16th, even if it's not thursday
  • 'in a few years' - in 2 years

For more examples and guidelines one use, see further documentation here: compromise - things it does well. Keep in mind that this control in used to select a date so using anything time related may or may not be beneficial to use and give strange results.