User submits form ↓ Frontend basic validation (required fields only) ↓ Backend authoritative validation (business rules + format checks) ↓ Service throws JSON error (preserving structure) ↓ Parent rethrows error (after logging/toast) ↓ Form component maps field → error message ↓ Input component highlights and displays message ↓ User fixes and resubmits __ __