From fc9ecb5f68c0c6ebc4c8474e5a1d14b017dbe018 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Tue, 23 Apr 2019 17:10:59 +0200
Subject: [PATCH] address validation fixes

---
 entity/Address_entity/Address_entity.aod |  1 +
 process/WsValidation_lib/process.js      | 12 +++++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 35ab6ef67ca..b7ca56c2922 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -76,6 +76,7 @@
       <title>postcode</title>
       <consumer>ZipValidation</consumer>
       <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/zip/mandatoryProcess.js</mandatoryProcess>
+      <newItemsAllowed v="true" />
       <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/zip/displayValueProcess.js</displayValueProcess>
       <onValidation>%aditoprj%/entity/Address_entity/entityfields/zip/onValidation.js</onValidation>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/zip/onValueChange.js</onValueChange>
diff --git a/process/WsValidation_lib/process.js b/process/WsValidation_lib/process.js
index 4cc2f2effeb..c33dc9b3c4d 100644
--- a/process/WsValidation_lib/process.js
+++ b/process/WsValidation_lib/process.js
@@ -66,7 +66,7 @@ WsValidationType.get = function(pKey)
                             data.region,
                             data.state,
                             data[this.paramName]]
-                    })
+                    }, this)
     }
 
     function _processCommunicationValidation(pWsResult, pValue)
@@ -147,8 +147,14 @@ WsValidationUtils.validate = function(pValue, pType, pCountry)
  */
 WsValidationUtils.setAddressFields = function()
 {
-    var data = JSON.parse(vars.get("$this.value"));
-
+    try 
+    {
+        var data = JSON.parse(vars.get("$this.value"));
+    } catch (exception) { 
+        // if no valid json
+        return
+    }
+     
     _setField("$field.ZIP", data.zip);
     _setField("$field.COUNTRY", data.country);
     _setField("$field.CITY", data.city);
-- 
GitLab