Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

prevent date in the past

Avatar

Level 3

I am trying to prevent a date field from allowing a user to enter a date prior to the current date. How can this be done?

4 Replies

Avatar

Level 10

Hi,

you can use a FormCalc script in the date fields exit event to inform the user an delete the invalid field data.


if (date2Num($.formattedValue, "DD.MM.YYYY") lt Date()) then


  if ($host.messageBox("You cannot select a date in the past", "invalid date", 0,0) eq 1) then


  $.rawValue = ""


  $host.setFocus(Ref($))


  endif


endif


Avatar

Level 7

This works great. The pattern for the date field has to be set to whatever is in the script. I had my date field as MM/DD/YYYY and it would not work until I modified the formattedValue line to match the pattern for the field.

Avatar

Level 10

Correct, the pattern in the script has to be the one you use to display your date.

In the US it's generally MM/DD/YYYY and in Germany it's DD.MM.YYYY

Avatar

Level 3

Thank you for your help! Worked like a charm! Many thanks!