Uniform way of writing validation logic
Allows to maintain one source of truth for both client and server side.
Uniform way of writing validation logic
Allows to maintain one source of truth for both client and server side.
Grouping and cloning
Don’t repeat yourself. Write repetitive validation steps for fields of different forms for both client and server side once in one place. Allows to write validation logic of any complexity.
Straightforward API
No need to search through a lot of method names, string constants, config options. Just think of what checks should be performed, where, and with what side effects.
Interactivity
Make user input highly interactive with little effort by connecting UI side effects to validity states.
Any validation strategy
Allows to implement any validation strategy: on focus out, on submit, on input. You can even make requests and perform all validations on the server side.
Functional style
Suits for those who think everything should be a function.
Good for educational purposes
Eases cognitive load from using different solutions for the client and server side. Abstracts away common boilerplate code and necessary but easy-to-forget operations.