Field-level validation error formatting via formatApiError
API Error Handling
Live Form Validation
Submit the form to trigger formatApiError. The email must include @ and the password must be at least 10 characters — failing either condition produces an inline field error.
Demo Payloads
Click any button to run that payload through formatApiError and inspect the result.
(a) Multi-field validation error
{
"message": "Validation failed",
"errors": [
{
"path": "password",
"message": "String must contain at least 10 character(s)"
},
{
"path": "email",
"message": "Invalid email"
}
]
}(b) Single-field validation error
{
"message": "Validation failed",
"errors": [
{
"path": "newPassword",
"message": "Required"
}
]
}(c) Non-validation error (409)
{
"message": "Email already in use",
"statusCode": 409
}Behavior Reference
How humanizeFieldError maps raw Zod messages to human-readable strings.
| Raw message | Path | Humanized |
|---|---|---|
| String must contain at least 10 character(s) | password | Password must be at least 10 characters |
| String must contain at most 64 character(s) | username | Username must be at most 64 characters |
| Invalid email | Please enter a valid email address | |
| Required | newPassword | New password is required |
| Email already in use | none | Email already in use (passed through) |