diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 2eb879d491b1e65ee765c94dd6a6049e73d375cf..1906e65437b99a243197f863a3c7fa3f921900fc 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -13,7 +13,7 @@
     <entityField>
       <name>ADDRESS</name>
       <title>Street</title>
-      <mandatory v="true" />
+      <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/address/mandatoryProcess.js</mandatoryProcess>
       <textInputAllowed v="false" />
       <stateProcess>%aditoprj%/entity/Address_entity/entityfields/address/stateProcess.js</stateProcess>
       <titleProcess>%aditoprj%/entity/Address_entity/entityfields/address/titleProcess.js</titleProcess>
@@ -58,7 +58,7 @@
       <name>CITY</name>
       <documentation>%aditoprj%/entity/Address_entity/entityfields/city/documentation.adoc</documentation>
       <title>City</title>
-      <mandatory v="true" />
+      <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/city/mandatoryProcess.js</mandatoryProcess>
       <stateProcess>%aditoprj%/entity/Address_entity/entityfields/city/stateProcess.js</stateProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/city/onValueChange.js</onValueChange>
       <onValueChangeTypes>
@@ -110,7 +110,7 @@
     <entityField>
       <name>ZIP</name>
       <title>Postcode</title>
-      <mandatory v="true" />
+      <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/zip/mandatoryProcess.js</mandatoryProcess>
       <stateProcess>%aditoprj%/entity/Address_entity/entityfields/zip/stateProcess.js</stateProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/zip/onValueChange.js</onValueChange>
       <onValueChangeTypes>
diff --git a/entity/Address_entity/entityfields/address/mandatoryProcess.js b/entity/Address_entity/entityfields/address/mandatoryProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..132a366dcb5b5d251185bd279041ab7766e1f9eb
--- /dev/null
+++ b/entity/Address_entity/entityfields/address/mandatoryProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("Entity_lib");
+import("system.result");
+import("AddressEntity_lib");
+
+result.object(AddressEntityValidation.isMandatoryField(vars.get("$field.COUNTRY")));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/city/mandatoryProcess.js b/entity/Address_entity/entityfields/city/mandatoryProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..132a366dcb5b5d251185bd279041ab7766e1f9eb
--- /dev/null
+++ b/entity/Address_entity/entityfields/city/mandatoryProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("Entity_lib");
+import("system.result");
+import("AddressEntity_lib");
+
+result.object(AddressEntityValidation.isMandatoryField(vars.get("$field.COUNTRY")));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/zip/mandatoryProcess.js b/entity/Address_entity/entityfields/zip/mandatoryProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..132a366dcb5b5d251185bd279041ab7766e1f9eb
--- /dev/null
+++ b/entity/Address_entity/entityfields/zip/mandatoryProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("Entity_lib");
+import("system.result");
+import("AddressEntity_lib");
+
+result.object(AddressEntityValidation.isMandatoryField(vars.get("$field.COUNTRY")));
\ No newline at end of file