7.5.1 • Published 3 years ago

passable v7.5.1

Weekly downloads
1,521
License
MIT
Repository
github
Last release
3 years ago

Passable

Isomorphic data model validations made easy.

npm version Build Status bitHound Overall Score

Learn more at:

What is Passable?

Passable is a system for javascript applications that allows you to write structured data model validations in a way that's consistent all across your app, and fully reusable.

Inspired by the world of unit testing, Passable validations are written like actual specs that need to be passed, and are considered to be an enforceable contract between the backend and the client. The syntax is very similar, adapted to be more suitable for testing data model, and runs in production code - not in testing environment.

passable diagram

Key Benefits

Structured Validations

The basic notion behind Passable is that you would want to structure your data model validation in your application, in a way that's consistent and easy to follow. It isn't much of a problem in a smaller scale application, but as the application gets larger, and more complex, it gets harder to keep track of the different flows of the application and the ways data model validations are performed in each one. Passable gives you a consistent structure to construct your data model validations, in a way that's both reusable and easy to read.

Isomorphic Validations

The other use of Passable is server side validations. Since most of the times we perform validations, we send the data back to the server, we would like to perform the tests there as well. This causes a great deal of confusion and error. It is hard to keep the validations in the server and the client synced, so if we update a validation in the client side, or the server, it is easy to neglect and change it on the other side as well. Even if we do keep them up to date, it is easy, especially if the server and the client are written in different languages, to have a slightly different interpretation of the logic on each end, which, eventually, causes inconsistencies and bugs.

Instead, with Passable, you could just as easily set up a data model validations server that would run the same exact validation code that runs in the browser. No duplication, no sync problems.

Contributers

Thanks goes to these people:

7.5.1

4 years ago

7.5.0

5 years ago

7.4.14

5 years ago

7.4.13

5 years ago

7.4.12

5 years ago

7.4.11

5 years ago

7.4.10

5 years ago

7.4.9

5 years ago

7.4.8

5 years ago

7.4.7

5 years ago

7.4.6

5 years ago

7.4.5

5 years ago

7.4.4

5 years ago

7.4.3

5 years ago

7.4.2

5 years ago

7.4.1

5 years ago

7.4.0

5 years ago

7.3.0

5 years ago

7.2.4

5 years ago

7.2.3

5 years ago

7.2.2

5 years ago

7.2.1

5 years ago

7.2.0

5 years ago

7.1.3

5 years ago

7.1.2

5 years ago

7.1.1

5 years ago

7.1.0

5 years ago

7.0.0

5 years ago

6.3.5

5 years ago

6.3.4

5 years ago

6.3.3

5 years ago

6.3.2

5 years ago

6.3.1

5 years ago

6.3.0

5 years ago

6.2.0

5 years ago

6.1.3

5 years ago

6.1.2

6 years ago

6.1.1

6 years ago

6.1.0

6 years ago

6.0.6

6 years ago

6.0.5

6 years ago

6.0.2

6 years ago

6.0.0

6 years ago

5.10.3

6 years ago

5.10.2

6 years ago

5.10.1

6 years ago

5.10.0

6 years ago

5.10.0-rc.2

6 years ago

5.10.0-rc.1

6 years ago

5.9.5

6 years ago

5.9.4

6 years ago

5.9.3

6 years ago

5.9.2

6 years ago

5.9.1

6 years ago

5.9.0

6 years ago

5.8.1

7 years ago

5.8.0

7 years ago

5.7.9

7 years ago

5.7.8

7 years ago

5.7.7

7 years ago

5.7.6

7 years ago

5.7.5

7 years ago

5.7.4

7 years ago

5.7.2

7 years ago

5.7.1

7 years ago

5.7.0

7 years ago

5.6.0

7 years ago

5.5.2

7 years ago

5.5.1

7 years ago

5.5.0

7 years ago

5.4.2

7 years ago

5.4.1

7 years ago

5.4.0

7 years ago

5.3.1

7 years ago

5.3.0

7 years ago

5.2.0

7 years ago

5.1.1

7 years ago

5.1.0

7 years ago

5.0.2

7 years ago

5.0.1

7 years ago

5.0.0

7 years ago

4.3.2

7 years ago

4.3.1

7 years ago

4.3.0

7 years ago

4.0.0

7 years ago

3.6.0

7 years ago

3.5.1

7 years ago

3.5.0

7 years ago

3.4.0

7 years ago

3.3.1

7 years ago

3.3.0

7 years ago

3.0.0

7 years ago

2.1.1

7 years ago

2.1.0

7 years ago

2.0.0

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago