Resolve empty-signature validation
Handle both the client and server rejection paths when no signature data is submitted. The guide then takes you through the correct route, the checks to complete before making changes, the workflow in order, and the evidence to review afterwards.
Where to goSecure public Delivery Note link → Signature area
What you’ll accomplish
Handle both the client and server rejection paths when no signature data is submitted. This guide follows the supplied Delivery Note module’s live hooks, controller actions, model rules, views and stored side effects.
Follow these steps
- Verify the page loaded the signature canvas and CDN script.
- Draw a visible signature before selecting Confirm Delivery.
- If the browser alert says a signature is required, draw and submit again.
- If signing still fails, have staff review the note status and `sign_failed` event without sharing the token.
- Retest on a supported browser with JavaScript enabled.
Fields and options to review
- Client check: SignaturePad `isEmpty()`
- Hidden field: `signature`
- Server check rejects an empty value
- Failed server attempt logs `sign_failed`
Rules the system enforces
- The server remains authoritative even if client JavaScript is bypassed.
- A failed attempt does not change status to signed.
- An already signed note also rejects another sign operation and returns to sealed view.
How to confirm it worked
- A valid non-empty signature is stored once, or the note remains open with an attributable failed-attempt event.
Safety checks and troubleshooting
- Do not disable validation or manually set status to signed.
Stay within the supported flowDo not force database values, expose secure tokens, bypass permission checks, replace a stored signature or invent a status or interface that the supplied code does not implement.
Continue with related guidance
Was this guide useful?Your response is stored only in this browser.
