ð§Ž
Rule Inheritance
Create specialized rules from base rules. Override options, messages, or both without rewriting logic.
ð
Structured Errors
Get rich error objects with rule name, actual vs expected values, and full context for debugging.
ðĻ
Custom Messages
Use static strings or dynamic functions that receive error details for context-aware messages.
ð
Framework Adapters
Same validation logic everywhere. Core for vanilla JS, adapters for Angular, React, and more.
âĄ
Async Support
Built-in support for async validators. Perfect for server-side checks like username availability.
ðŠķ
Lightweight
Zero runtime dependencies. Tree-shakeable ESM builds. Import only what you use.