Cognito-forms – Calendar calculation in Cognito Forms

cognito-forms

I am trying to work out how the future date displays in the calendar option for future reservation.

At this moment it even shows the past days and years. The calendar should start from the date when a person trying to fill in the Cognito form, like StartDate > DateTime.Today.

How can I get the calendar to show only future dates?

Best Answer

I am a developer for Cognito Forms.

Since February 2015 the following functionality has been made available:

In this example, I am setting the range on the Start Date field to =DateTime.Today. It could have also been =DateTime.Today.AddDays(1) to be tomorrow or later. Calculations are very robust and should cover most scenarios you can dream up, but you can also just enter literal dates.

range field

I then set the range on the End Date to be at least three days after the Start Date, but no more than seven days. Here is the calculation for the End Date minimum:

setting end date minimum

And this is how the Start Date appears on the form, with the days before today disabled:

calendar with days disabled

And similarly for the End Date, with both minimum and maximum date restrictions based on the Start Date.

calendar with days after disabled

The date range for the End Date automatically updates based on changes to the Start Date, so if an End Date is specified and the Start Date is later changed, validation will catch this if the user does not fix it first.

end date validation

Please note that range validation applies to Date, Number and Currency fields, not just the dates included in this example.