Purpose WIth Checkdate you can check if a given string represents a valid date. The date format (e.g. dd.mm.yyyy or mm/dd/yyyy)  is taken from the user's profile. 
With
if Q[ok] you can query whether the date is valid.

Please observe: The user's profile is read when the command is executed the first time. A valid RFC user name and password are necessary for this function (GuiXT profile).

Example CheckDate "&V[mydate]"

if not Q[ok]
  Message
"E: Wrong date &V[mydate]" -statusline
  Leave
endif 

Format CheckDate "date"
Additional options
set=   You specify the name of a variable that will receive the date in complete form (10 characters). In the case of an invalid date the variable is set to "" (empty string).

Example:

CheckDate  "1.6."  set="cdate"

The variable V[cdate] is set to  "01.06.2011", if the user date format is "dd.mm.yyyy" and the current year is 2011.

Please observe that the -date option of the InputField command already transforms the user input into the complete date format if a valid date has been entered in abbreviated form. For invalid dates the user input is not changed and no error message is displayed.

Components GuiXT + InputAssistant