diff --git a/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java b/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java index 30a7540ee..e554a08f3 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java @@ -71,6 +71,10 @@ public class StampController { int position = request.getPosition(); // Updated to use 1-9 positioning logic float overrideX = request.getOverrideX(); // New field for X override float overrideY = request.getOverrideY(); // New field for Y override + // Check if the file input is null or empty + if (request.getFileInput() == null || request.getFileInput().isEmpty()) { + return ResponseEntity.badRequest().body("PDF file is missing.".getBytes()); + } String customColor = request.getCustomColor(); float marginFactor; diff --git a/src/main/resources/templates/misc/stamp.html b/src/main/resources/templates/misc/stamp.html index d25128303..b2091a4c8 100644 --- a/src/main/resources/templates/misc/stamp.html +++ b/src/main/resources/templates/misc/stamp.html @@ -27,8 +27,8 @@ approval -
-
+ +

@@ -194,6 +194,29 @@ alphabetGroup.style.display = 'none'; } } + document.addEventListener('DOMContentLoaded', function() { + // Get the form by ID + const form = document.getElementById('stampFormGroup'); + if (form) { + // Override the default submission behavior + form.addEventListener('submit', function(event) { + // Get the file input element (using the pattern from the fileSelector fragment) + const fileInput = document.getElementById('fileInput-input'); + // Check if files are selected + if (!fileInput || fileInput.files.length === 0) { + // Prevent the form from submitting + event.preventDefault(); + event.stopPropagation(); + + // Alert the user + alert('Please select a PDF file before submitting.'); + return false; + } + return true; + }, true); + } + }); +