mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-26 19:12:50 +00:00
Three bugs compounded into a button that looked unwired: - cuttingPoint carried a native HTML required attribute while sitting on the hidden Settings tab (Mantine keeps inactive tab panels mounted with display:none). The browser blocked form submission entirely, silently - no toast, no error, nothing. Replaced required with withAsterisk and moved validation into JS. - Manual required-field validation never checked type/form/adminMethod/ evalMethod/cuttingPoint at all, so even without the native block above a half-filled Settings tab would silently no-op. Validation now covers every required field on both tabs and switches to whichever tab has the problem. - Filling only the English Direction field (leaving Amharic blank) passed frontend validation but the backend hard-rejects it, producing a 400 with a confusing error. Frontend now requires both-or-neither, matching the same rule already applied to MCQ options. Also translates the previously hardcoded validation message in both locales. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>