Skip to content

Input Validation

Thomas Pollet edited this page Mar 8, 2026 · 3 revisions

Input Validation

Where validation happens

Validation can happen in several places:

  • request parsing
  • content-type handling
  • filter parsing
  • model constructors and hooks
  • custom SQLAlchemy column types

Error shapes

User-facing validation failures should appear as JSON:API error documents, not arbitrary plain JSON blobs.

Common validation cases

  • invalid JSON payloads
  • invalid filters
  • invalid ids
  • custom validation errors raised by column types or hooks

FastAPI note

The FastAPI adapter maps request-shape validation failures to JSON:API 422 responses.

Clone this wiki locally