Skip to main content
Participating Frequently
May 12, 2022
Answered

Custom date format on date field

  • May 12, 2022
  • 3 replies
  • 3324 views

Hello:

 

I am building a form with Adobe Acrobat Pro DC Version 2022.001.20117.

I need to redestribute a fillable form through internet.

 

I need a date field that must contain (in catalan):

04 de maig de 2022

I have used date custom format like this : dd \de mmmm \de yyyy

"de" must be literal. I use "\" char trying to avoid "d" being conseidered as day.

It doesn't work

Anyone knows how to get it?

 

Thanks in advance.

 

Frank

This topic has been closed for replies.
Correct answer Nesa Nurani

Use workaround with two fields, lets call them 'field1' and 'field2'.
In field1 you will select date and then hide it to show field2 with desired format, when you click on field2 to change date it will be hidden and focus set to field1.
1. In field1 use format 'dd mmmm yyyy',
as 'On Blur' action use this:

if(event.value){
event.target.display = display.hidden;
this.getField("field2").display = display.visible;}

as 'Validation' script use this:

var str = event.value;
var date = str.split(" ");
if(event.value)
this.getField("field2").value = date[0]+" de "+date[1]+" de "+date[2];
else
this.getField("field2").value = "";

2. in field2 as 'On Focus' action use this:

event.target.display = display.hidden;
this.getField("field1").display = display.visible;
this.getField("field1").setFocus();

Now put fields on top of each other so they are in same place.

Here is sample how it should work:

https://drive.google.com/uc?export=download&id=16ZUdWggM7hwNW4Cf1Xq0RjEoUEoWAOWn 

3 replies

Participant
April 6, 2024

Hello,

Nesa's answer was very helpful.

I have introduced some imrpovements on her solution that worked better for me. I share them in case they are useful.

1. In field 1, use format 'dd/mm/yyyy'.

  as 'On Blur' action, use:

this.getField("field1").display = display.hidden;
this.getField("field2").display = display.visible;

  as 'Mouse Down' action, use (this shouldn't be necessary, but just to be on the safe side):

var field1 = this.getField("field1");
this.field1.display = display.visible;
this.getField("field2").display = display.hidden;
this.field1.setFocus();

as 'Validation' script, use this:

var field2 = this.getField("field2");
this.field2.value = event.value || "";
this.getField("field1").display = display.hidden;
this.field2.display = display.visible;

2. In field2 use format 'd \\de mmmm \\de yyyy'.

  as 'Mouse Down' action, use:

var field1 = this.getField("field1");
this.field1.display = display.visible;
this.getField("field2").display = display.hidden;
this.field1.setFocus();

It's a bit simpler and reacted better to the events in the tests I did. It also uses as format for the edition the most usual short date format for Catalan.

 

Hope it helps!

 

Juan

 

Nesa Nurani
Community Expert
Nesa NuraniCommunity ExpertCorrect answer
Community Expert
May 12, 2022

Use workaround with two fields, lets call them 'field1' and 'field2'.
In field1 you will select date and then hide it to show field2 with desired format, when you click on field2 to change date it will be hidden and focus set to field1.
1. In field1 use format 'dd mmmm yyyy',
as 'On Blur' action use this:

if(event.value){
event.target.display = display.hidden;
this.getField("field2").display = display.visible;}

as 'Validation' script use this:

var str = event.value;
var date = str.split(" ");
if(event.value)
this.getField("field2").value = date[0]+" de "+date[1]+" de "+date[2];
else
this.getField("field2").value = "";

2. in field2 as 'On Focus' action use this:

event.target.display = display.hidden;
this.getField("field1").display = display.visible;
this.getField("field1").setFocus();

Now put fields on top of each other so they are in same place.

Here is sample how it should work:

https://drive.google.com/uc?export=download&id=16ZUdWggM7hwNW4Cf1Xq0RjEoUEoWAOWn 

Participating Frequently
May 12, 2022

Great solution Nesa.

Thank you for your help.

 

Thank you @BarlaeDC for your help too.

BarlaeDC
Community Expert
Community Expert
May 12, 2022

Hi,

 

I think you need to double \ the string so it looks like this

dd \\de mmmm \\de yyyy

Participating Frequently
May 12, 2022

Hello:

 

It doesn't work for me.