🎯Framework AgnosticUse @pliant/core anywhere - Node.js, browsers, React, Vue, Svelte. Add @pliant/angular for seamless Angular integration.
📦Structured ErrorsEvery validation error includes a code, message, and contextual details. Perfect for i18n and custom error handling.
🔗Rule InheritanceCreate specialized rules that extend existing ones. Build "usernameLength" from "length" with custom options and messages.
⚡11 Built-in RulesShips with required, email, numeric, length, minLength, maxLength, range, min, max, regex, and equals rules.
🔌ExtensibleCreate custom sync or async rules with full TypeScript support. Rules are pure functions - easy to test and compose.
💬Message ResolutionDefine messages as static strings or dynamic functions. Supports template literals with error details for rich messages.