Making sure users can continue editing the UI because something is wrong with validation and this is not reproducible in all machines (#1650)

JIRA: ZAPP-1661
diff --git a/src-electron/validation/validation.js b/src-electron/validation/validation.js
index fcad824..2751f5b 100644
--- a/src-electron/validation/validation.js
+++ b/src-electron/validation/validation.js
@@ -27,6 +27,7 @@
 const queryEndpoint = require('../db/query-endpoint.js')
 const types = require('../util/types.js')
 const queryPackage = require('../db/query-package.js')
+const env = require('../util/env')
 
 /**
  * Main attribute validation function.
@@ -52,7 +53,26 @@
     attributeRef,
     clusterRef
   )
+  // Null check for endpointAttribute
+  if (!endpointAttribute) {
+    env.logWarning(
+      `validateAttribute called with invalid parameters for endpointAttribute:\n
+      - endpointTypeId: ${endpointTypeId}\n
+      - attributeRef: ${attributeRef}\n
+      - clusterRef: ${clusterRef}`
+    )
+    return { defaultValue: ['Attribute not found in endpoint configuration'] }
+  }
+
   let attribute = await queryZcl.selectAttributeById(db, attributeRef)
+  // Null check for attribute
+  if (!attribute) {
+    env.logWarning(
+      `validateAttribute called with invalid parameters for attribute:\n
+      - attributeRef: ${attributeRef}`
+    )
+    return { defaultValue: ['Attribute definition not found'] }
+  }
   return validateSpecificAttribute(
     endpointAttribute,
     attribute,
@@ -118,6 +138,14 @@
   db,
   zapSessionId
 ) {
+  if (!endpointAttribute || !attribute) {
+    env.logWarning(
+      `validateSpecificAttribute called with invalid parameters:\n
+      - endpointAttribute: ${JSON.stringify(endpointAttribute)}\n
+      - attribute: ${JSON.stringify(attribute)}`
+    )
+    return { defaultValue: ['Missing attribute or endpoint configuration'] }
+  }
   let defaultAttributeIssues = []
   if (attribute.isNullable && endpointAttribute.defaultValue == null) {
     return { defaultValue: defaultAttributeIssues }