Search for a command to run...
Schema description language and data validator for JavaScript. Lets you define validation rules using a chainable, declarative API and validate input at runtime with clear error messages and type coercion.
Originated in the Hapi ecosystem and widely adopted across the Node.js stack for API and config validation. Differentiates from alternatives like Yup and Zod with rich conditional logic, cross-field references, and a mature type system that covers strings, numbers, objects, arrays, dates, booleans, and alternatives.
Key features:
API and web servers validate request bodies, query params, and headers before handlers run. CLI tools and config loaders validate environment variables and JSON config. Form libraries and data pipelines use it to sanitize user input and enforce schema contracts before persistence.