date format as MM/DD/YYYY?

Avatar

Avatar

mmgiath

Avatar

mmgiath

mmgiath

10-11-2016

How I can force a user to enter in a text field date format as MM/DD/YYYY?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

radzmar

MVP

Total Posts

2.6K

Likes

385

Correct Answer

485

Avatar

radzmar

MVP

Total Posts

2.6K

Likes

385

Correct Answer

485
radzmar
MVP

23-11-2016

You can use FormCalc to check, if the entered text is a valid date.

Add this script in the exit event of your text field. Ensure the selected programming language is FormCalc not JavaScript.

if (Date2Num(Parse("DD/MM/YYYY", $), "YYYY-MM-DD") eq 0) then

  if ($host.messageBox("Enter a Date in the format DD/MM/YYYY.", "Wrong Date", 0, 0) eq 1) then

  $host.setFocus($.somExpression)

  endif

endif

Answers (4)

Answers (4)

Avatar

Avatar

mmgiath

Avatar

mmgiath

mmgiath

23-11-2016

Hi, I am using this method(text field) because users they have to enter their date of birth. I do not know any other method..to use.

Is it possible to modify the script to enter the date as DD/MM/YYYY?

Thank you very much

Avatar

Avatar

Archyron

Avatar

Archyron

Archyron

22-11-2016

If you're trying to enter a date I don't see why you would want to use a text field over a date field. However, if you absolutely need a text field you could use regex in the validate event like so:

if (!(this.isNull || this.rawValue.length == 0)) {

  //Test for MM/DD/YYYY format

  var pattern = new RegExp("^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/\d{4}$","g");

  var isMatch = pattern.test(this.rawValue);

  if(!isMatch)

       xfa.host.messageBox("The date you entered is in an incorrect format", "Error");

}

//Disables validation trigger

true;

To reiterate, I highly discourage you from using this method. It is incomplete since you can still enter dates like 02/30/2000 which would obviously be invalid.

Avatar

Avatar

mmgiath

Avatar

mmgiath

mmgiath

11-11-2016

The field I am using is a text field not a date filed.

I need a script to notify users in order to enter the correct format.

Thank you

Avatar

Avatar

Archyron

Avatar

Archyron

Archyron

10-11-2016

Use the validation pattern: date{MM/DD/YYYY}