How I can force a user to enter in a text field date format as MM/DD/YYYY?
Thanks
Solved! Go to Solution.
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
Use the validation pattern: date{MM/DD/YYYY}
Views
Replies
Total Likes
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
Views
Replies
Total Likes
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.
Views
Replies
Total Likes
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
Views
Replies
Total Likes
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