Skip to main content
Participating Frequently
December 7, 2023
Answered

restricting duplicate entries

  • December 7, 2023
  • 1 reply
  • 2034 views

Looking for guidance on restricting duplicate entries in PDF form fields. Is there a way to prevent users from entering the same contact information in different fields on a PDF form. 

Correct answer try67

I'm not a coder so please help me out with this: 
I tried the following code and different versions of it but i always end up getting a syntax error code. Bottomline is  to avoid repitition in the email adress fields only. 

if (event.value==this.getField("EmailCEO Gen Manager").valueAsString) event.value==this.getField("EmailFinances").valueAsString) if (event.value==this.getField("EmailImport Air").valueAsString || event.value==this.getField("EmailImport Sea").valueAsString || if (event.value==this.getField("EmailExport Air").valueAsString || event.value==this.getField("EmailExport Sea").valueAsString || if (event.value==this.getField("EmailSales Air").valueAsString || event.value==this.getField("EmailSales Sea").valueAsString || if (event.value==this.getField("EmailOperations").valueAsString) { app.alert("Please enter a different name than entered previously.",1); event.rc = false; } } 


Use this:

 

if (event.value==this.getField("EmailCEO Gen Manager").valueAsString || 
	event.value==this.getField("EmailFinances").valueAsString || 
	event.value==this.getField("EmailImport Air").valueAsString || 
	event.value==this.getField("EmailImport Sea").valueAsString || 
	event.value==this.getField("EmailExport Air").valueAsString || 
	event.value==this.getField("EmailExport Sea").valueAsString || 
	event.value==this.getField("EmailSales Air").valueAsString || 
	event.value==this.getField("EmailSales Sea").valueAsString || 
	event.value==this.getField("EmailOperations").valueAsString) { 
		app.alert("Please enter a different name than entered previously.",1); 
		event.rc = false; 
}  

1 reply

try67
Community Expert
Community Expert
December 7, 2023

Yes, that's possible. Let's say you have two text fields, Name1 and Name2, and you want to make sure they are not the same value (unless that value is empty). You can use the following code as the custom Validation script of Name2:

 

 

if (event.value) {
	if (event.value==this.getField("Name1").valueAsString) {
		app.alert("Please enter a different name than entered previously.",1);
		event.rc = false;
	}
}

 

 

And under Name1 you can use similar code, only adjusting the field name to compare it to:

 

 

if (event.value) {
	if (event.value==this.getField("Name2").valueAsString) {
		app.alert("Please enter a different name than entered previously.",1);
		event.rc = false;
	}
}

 

Participating Frequently
December 8, 2023

Thankyou so much. It works 🙂

Now it did work when applied in 2 fields but i tried to use the same code for 10 different fields (see attached). Each field contains the following code - the field name of current field but it doesn't work with values given to all fields. The form doesn't allow the same value given in the first field but all the other fields can have the same value.

 I want to avoid same email adresses on all fields. Can you help me with that? 

 

if (event.value) { if (event.value==this.getField("EmailCEO Gen Manager","EmailFinances","EmailImport Air", "EmailImport Sea", "EmailExport Air", "EmailExport Sea", "EmailSales Air", "EmailSales Sea", "EmailOperations").valueAsString) { app.alert("Please enter a different name than entered previously.",1); event.rc = false; } }

 

 

try67
Community Expert
Community Expert
December 8, 2023

Unfortunately, it won't work like that. You have to access each field on its own, like this:

 

if (event.value==this.getField("EmailCEO Gen Manager").valueAsString || event.value==this.getField("EmailFinances").valueAsString || ...