Index: database/drizzle/util/componentFieldConfig.ts
===================================================================
--- database/drizzle/util/componentFieldConfig.ts	(revision dda6f510ec987719a7348d64c6a1bbfbcfc4aa8c)
+++ database/drizzle/util/componentFieldConfig.ts	(revision b6e1b3c446e18031dea6a3444f7ec467670f9f2d)
@@ -108,2 +108,24 @@
     return true;
 }
+
+export function getValidationError(type: string, specificData: any): string | null {
+    if (!(type in requiredFields)) {
+        return `Invalid component type: ${type}`;
+    }
+
+    const fields = requiredFields[type as ComponentType];
+    const missingFields: string[] = [];
+
+    for (const field of fields) {
+        const value = specificData[field];
+        if (value === undefined || value === null || value === '') {
+            missingFields.push(field);
+        }
+    }
+
+    if (missingFields.length > 0) {
+        return `Missing required fields: ${missingFields.join(', ')}`;
+    }
+
+    return null;
+}
