The ValidationPowers object provides the val API, which simplifies schema creation and validation for various data types.
The val API supports creating schemas for objects, arrays, strings, numbers, booleans, dates, and more. It also includes
advanced features like coercion, optional properties, and custom validation rules.
The
ValidationPowers
object provides theval
API, which simplifies schema creation and validation for various data types.The
val
API supports creating schemas for objects, arrays, strings, numbers, booleans, dates, and more. It also includes advanced features like coercion, optional properties, and custom validation rules.Features
Importing and using
val
:import { ValidationPowers } from "@andi/powers"; const { val } = ValidationPowers; // Object schema example const schema = val.object({ id: val.number().min(1), name: val.string().minLength(3), isActive: val.boolean().optional(), }); const data = { id: 1, name: "John", isActive: true }; const validatedData = schema.validate(data); // Passes console.log(validatedData); // Array schema example const arraySchema = val.array(val.string().minLength(2)).minLength(1); const arrayData = ["apple", "banana"]; const validatedArray = arraySchema.validate(arrayData); // Passes console.log(validatedArray);
Using coercion:
const schema = val.object({ id: val.number().coerce(), isActive: val.boolean().coerce(), }); const data = { id: "42", isActive: "true" }; const validatedData = schema.validate(data); // { id: 42, isActive: true } console.log(validatedData);