2.1.0-next-553c8f • Published 6 years ago

vest v2.1.0-next-553c8f

Weekly downloads
1,858
License
MIT
Repository
github
Last release
6 years ago

Vest

Vest - Validation Testing

npm version Build Status Known Vulnerabilities

Tutorials

Step By Step React Tutorial

Release Notes

What is Vest?

Vest is a validations library for JS apps that derives its syntax from modern JS unit testing frameworks such as Mocha or Jest. It is easy to learn due to its use of already common declarative patterns. It works great with user-input validation and with validating upon user interaction to provide the best possible user experience.

The idea behind Vest is that your validations can be described as a 'spec' or a contract that reflects your form or feature structure. Your validations run in production, and they are framework agnostic - meaning Vest works well with React, Angular, Vue, or even without a framework at all.

Using Vest for form validation can reduce bloat, improve feature redability and maintainability.

Vest's features

  • ✅ - Declarative validation style
  • ✅ - Framework agnostic
  • ✅ - Rich, extendable, assertions library (enforce)
  • ✅ - Possibility to add multiple validations for the same field
  • ✅ - Warning (non failing) validations, such as password strength
  • ✅ - Easy to use result selecters (hasErrors, getErrors, hasWarnings...)
  • ✅ - Only validate fields the user is interacting with (or the whole field)
  • ✅ - Memoize async validations to reduce calls to the server
  • ✅ - Test grouping for multi step forms

Example code (see sandbox)

Full form example Full form example

Memoized validations demo:

memo

Why Vest?

  • Vest is really easy to learn. You can take your existing knowledge of unit tests and transfer it to validations.
  • Vest takes into account user interaction and warn only validations.
  • Your validations are structured, making it very simple to read and write. All validation files look the same.
  • Your validation logic is separate from your feature logic, preventing the spaghetti code that's usually involved with writing validations.
  • Validation logic is easy to share and reuse across features.
  • If your backend is node, you can use the same Vest modules for both client-side and server-side validations.

Vest is an evolution of Passable by Fiverr.

5.4.3

2 years ago

5.4.2

2 years ago

5.4.1

2 years ago

5.4.0

2 years ago

5.3.0

2 years ago

5.2.12

2 years ago

5.2.11

2 years ago

5.2.10

2 years ago

5.2.9

2 years ago

5.2.8

2 years ago

5.2.7

2 years ago

5.2.6

2 years ago

5.2.5

2 years ago

5.2.4

2 years ago

5.2.3

2 years ago

5.1.5

2 years ago

5.1.4

2 years ago

5.1.3

2 years ago

5.1.2

2 years ago

5.2.2

2 years ago

5.2.1

2 years ago

5.2.0

2 years ago

5.1.1

2 years ago

5.1.0

3 years ago

5.0.0-dev-ae6b14

3 years ago

5.0.0-dev-ec989a

3 years ago

5.0.5

3 years ago

5.0.4

3 years ago

5.0.3

3 years ago

5.0.2

3 years ago

5.0.1

3 years ago

4.6.9

3 years ago

5.0.0-dev-9c596e

3 years ago

4.6.11

3 years ago

4.6.10

3 years ago

5.0.2-dev-f3ecc9

3 years ago

5.0.2-dev-d315d9

3 years ago

4.6.8

3 years ago

4.6.6-dev-e99e42

4 years ago

4.6.7

4 years ago

4.6.6

4 years ago

4.6.5

4 years ago

4.7.0-dev-c4ba9b

4 years ago

4.4.2-dev-d13b14

4 years ago

4.4.3-dev-c786f7

4 years ago

5.0.0-dev-781e21

4 years ago

4.6.1

4 years ago

4.6.0

4 years ago

4.6.3

4 years ago

4.6.2

4 years ago

4.6.4

4 years ago

4.6.2-dev-b9b126

4 years ago

5.0.0-dev-040354

4 years ago

5.0.0

4 years ago

4.7.0-dev-f30a30

4 years ago

4.4.1

4 years ago

4.4.2

4 years ago

4.6.2-dev-310818

4 years ago

4.4.2-dev-afe5de

4 years ago

4.5.0-dev-9b46fb

4 years ago

4.6.2-dev-b07a89

4 years ago

4.5.0

4 years ago

4.4.2-dev-ae93bf

4 years ago

4.6.2-dev-fcaa09

4 years ago

4.3.4

4 years ago

4.4.0

4 years ago

4.4.0-dev-08ec91

4 years ago

4.3.2

4 years ago

4.3.1

4 years ago

4.3.3

4 years ago

4.3.0

4 years ago

4.3.2-dev-2805e3

4 years ago

4.2.3-dev-87ebfa

4 years ago

4.2.1-dev-ee64be

4 years ago

4.2.2

4 years ago

4.2.1

4 years ago

4.0.0-dev-e266d9

4 years ago

4.0.0-dev-cc2a13

4 years ago

4.1.3

4 years ago

4.1.0

4 years ago

4.1.2

4 years ago

4.1.1

4 years ago

4.0.4-dev-2d433c

4 years ago

4.0.0-dev-031d95

4 years ago

4.0.4-dev-338dee

4 years ago

4.0.3-dev-0bdac6

4 years ago

4.0.0-dev-37dfaa

4 years ago

4.0.1

4 years ago

4.0.0

4 years ago

4.0.3

4 years ago

4.0.2

4 years ago

4.2.0

4 years ago

4.0.0-dev-fc2efe

4 years ago

4.0.2-dev-6e9534

4 years ago

4.0.0-dev-1aae50

4 years ago

4.0.1-dev-6078f7

4 years ago

4.0.2-dev-72921c

4 years ago

4.0.0-dev-31f012

4 years ago

3.2.8

4 years ago

4.0.0-dev-7acb76

4 years ago

4.0.0-dev-8851ff

4 years ago

4.0.0-dev-366a8b

4 years ago

4.0.0-dev-f53683

4 years ago

3.2.6

4 years ago

3.2.7

4 years ago

4.0.0-dev-cc5cf5

4 years ago

4.0.0-dev-392d56

4 years ago

4.0.0-dev-deabb8

4 years ago

4.0.0-dev-1c6d8e

5 years ago

3.3.0-dev-ed4c51

5 years ago

3.3.0-dev-549cb1

5 years ago

3.3.0-dev-2be3a3

5 years ago

3.3.0-dev-92c1af

5 years ago

3.3.0-dev-5c9b45

5 years ago

3.3.0-dev-9a4b56

5 years ago

3.3.0-dev-55a2de

5 years ago

3.3.0-dev-f1f6d0

5 years ago

3.2.5

5 years ago

3.2.4

5 years ago

3.2.4-dev-c9788a

5 years ago

3.2.8-dev-6d7c74

5 years ago

3.2.8-dev-86e201

5 years ago

3.2.3

5 years ago

3.1.3

5 years ago

3.2.2

5 years ago

3.2.1

5 years ago

3.2.0

5 years ago

3.1.2

5 years ago

3.1.2-dev-d6cce2

5 years ago

3.1.2-dev-647185

5 years ago

3.1.2-dev-a2bd9c

5 years ago

3.1.2-dev-6a05bd

5 years ago

3.1.1

5 years ago

3.1.0

5 years ago

3.1.1-dev-b5e445

5 years ago

3.1.0-dev-22d3d0

5 years ago

3.1.0-dev-c11c85

5 years ago

3.1.1-dev-78b3d1

5 years ago

3.0.2

5 years ago

3.0.1-dev-32ceed

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

3.0.0-rc.1

5 years ago

3.0.0-dev-1aaf06

5 years ago

3.0.0-dev-c4124c

5 years ago

3.0.0-dev-3e4fa1

5 years ago

3.0.0-dev-8e6e76

5 years ago

3.0.0-dev-661ec4

5 years ago

3.0.0-dev-b3b059

5 years ago

2.3.0-dev-65c4a3

5 years ago

3.0.0-dev-7a0221

5 years ago

3.0.0-dev-bb7a82

5 years ago

2.3.0-dev-e33f88

5 years ago

2.3.0-dev-ee22a6

5 years ago

3.0.0-dev-30ec94

5 years ago

2.3.0-dev-42047a

5 years ago

2.3.0-dev-edac4f

5 years ago

2.3.0-dev-6f98b9

5 years ago

2.3.0-dev-aa2cb1

5 years ago

2.3.0-dev-3430bd

5 years ago

2.3.0-dev-afc096

5 years ago

3.0.0-dev-1b95dc

5 years ago

2.3.0-dev-32c368

5 years ago

2.3.0-dev-fe0186

5 years ago

3.0.0-dev-29745f

5 years ago

3.0.0-dev-2a40d2

5 years ago

2.3.0-dev-046792

5 years ago

2.3.0-dev-476dde

5 years ago

2.3.0-dev-51d4d8

5 years ago

3.0.0-dev-9c54f5

5 years ago

3.0.0-dev-c23dd4

5 years ago

2.3.0-dev-5d3b11

5 years ago

2.3.0-dev-7a965c

6 years ago

2.3.0-dev-2a6bf2

6 years ago

2.3.0-dev-ee5d5e

6 years ago

2.3.0-dev-12d646

6 years ago

2.2.3

6 years ago

2.2.2

6 years ago

2.2.2-dev-e3ea85

6 years ago

2.2.2-dev-33a3da

6 years ago

2.2.2-dev-8732e7

6 years ago

2.1.1-dev-9740e0

6 years ago

2.2.1-dev-b35d2f

6 years ago

2.2.1

6 years ago

2.2.0

6 years ago

2.2.0-dev-2a5ed4

6 years ago

2.2.0-dev-11c21c

6 years ago

2.2.0-dev-e1e9c5

6 years ago

2.2.0-dev-ee1118

6 years ago

2.2.0-dev-f70e2a

6 years ago

2.2.0-dev-3a24c9

6 years ago

2.2.0-dev-dd5a60

6 years ago

2.2.0-dev-310661

6 years ago

2.2.0-dev-8f6357

6 years ago

2.2.0-dev-d93aed

6 years ago

2.2.0-dev-056911

6 years ago

2.1.1-dev-960c17

6 years ago

2.2.0-dev-208af9

6 years ago

2.2.0-dev-3e02c6

6 years ago

2.1.1-dev-f56eea

6 years ago

2.2.0-dev-3c2a6d

6 years ago

2.2.0-dev-b53830

6 years ago

2.1.0

6 years ago

2.1.0-dev-e35626

6 years ago

2.1.0-dev-8be60f

6 years ago

2.1.0-dev-884d67

6 years ago

2.1.0-dev-cfc4c9

6 years ago

2.1.0-dev-2c6f61

6 years ago

2.1.0-dev-e3e248

6 years ago

2.1.0-dev-c9398f

6 years ago

2.1.0-dev-d2323c

6 years ago

2.1.0-dev-668bcd

6 years ago

2.1.0-dev-1a9d85

6 years ago

2.1.0-dev-408f5c

6 years ago

2.1.0-dev-34090b

6 years ago

2.1.0-dev-84ee90

6 years ago

2.1.0-dev-44a51a

6 years ago

2.1.0-dev-27551e

6 years ago

2.1.0-dev-b858db

6 years ago

2.1.0-dev-344f51

6 years ago

2.1.0-dev-a72f2d

6 years ago

2.1.0-dev-1ccd91

6 years ago

2.1.0-dev-26179c

6 years ago

2.1.0-dev-c26756

6 years ago

2.1.0-dev-8f422a

6 years ago

2.1.0-dev-0d6620

6 years ago

2.1.0-dev-6b2a08

6 years ago

2.1.0-dev-f26e8e

6 years ago

2.1.0-dev-5fdcf6

6 years ago

2.1.0-dev-33d8cc

6 years ago

2.1.0-dev-fdae91

6 years ago

2.1.0-dev-4a4969

6 years ago

2.1.0-dev-73392b

6 years ago

2.1.0-dev-50f109

6 years ago

2.1.0-dev-f73330

6 years ago

2.1.0-dev-d57cb7

6 years ago

2.1.0-dev-4b6363

6 years ago

2.1.0-dev-0404d6

6 years ago

2.1.0-dev-28fad3

6 years ago

2.1.0-dev-0960d2

6 years ago

2.1.0-dev-c5f11e

6 years ago

2.1.0-dev-4e62c0

6 years ago

2.1.0-dev-4aaeef

6 years ago

2.1.0-dev-91dbfd

6 years ago

2.1.0-dev-823e2b

6 years ago

2.1.0-dev-777aa8

6 years ago

2.1.0-dev-ee0460

6 years ago

2.1.0-dev-caed57

6 years ago

2.1.0-dev-136161

6 years ago

2.1.0-dev-6acd5e

6 years ago

2.1.0-dev-1a83ec

6 years ago

2.1.0-dev-f88f66

6 years ago

2.1.0-dev-d6ea96

6 years ago

2.1.0-rc.3

6 years ago

2.1.0-dev-ae870f

6 years ago

2.1.0-dev-60d48a

6 years ago

2.1.0-dev-dab0b6

6 years ago

2.1.0-rc.2

6 years ago

2.1.0-dev-02149e

6 years ago

2.1.0-rc.1

6 years ago

2.1.0-dev-ee3302

6 years ago

2.1.0-dev-c12c4e

6 years ago

2.1.0-dev-661601

6 years ago

2.1.0-dev-489a2f

6 years ago

2.1.0-dev-af6c11

6 years ago

2.1.0-dev-5596df

6 years ago

2.1.0-dev-d0a5a2

6 years ago

2.1.0-dev-b6f722

6 years ago

2.1.0-dev-6994fc

6 years ago

2.1.0-dev-7e1772

6 years ago

2.1.0-dev-2171a2

6 years ago

2.1.0-dev-f1910b

6 years ago

2.1.0-dev-4e2124

6 years ago

2.1.0-dev-c215fb

6 years ago

2.1.0-dev-d2ebf6

6 years ago

2.1.0-dev-ecae80

6 years ago

2.1.0-dev-47fb1f

6 years ago

2.1.0-dev-903436

6 years ago

2.1.0-dev-4ec5b5

6 years ago

2.1.0-dev-891a37

6 years ago

2.1.0-dev-695691

6 years ago

2.1.0-dev-cd888b

6 years ago

2.1.0-dev-53a327

6 years ago

2.1.0-dev-1bdcec

6 years ago

2.1.0-dev-be5561

6 years ago

2.1.0-dev-3ac980

6 years ago

2.1.0-dev-048424

6 years ago

2.1.0-dev-8263f8

6 years ago

2.1.0-dev-9d1fd7

6 years ago

2.1.0-dev-c060ad

6 years ago

2.1.0-dev-70c8b4

6 years ago

2.1.0-dev-5128ce

6 years ago

2.1.0-dev-19d588

6 years ago

2.1.0-dev-089ae4

6 years ago

2.1.0-dev-2d76a2

6 years ago

2.1.0-dev-6abb75

6 years ago

2.1.0-dev-372f0a

6 years ago

2.1.0-dev-ddcc89

6 years ago

2.1.0-dev-3c6792

6 years ago

2.0.0

6 years ago

2.0.0-dev-ab55f4

6 years ago

2.0.0-dev-103d63

6 years ago

14.0.0

6 years ago

17.0.0-dev

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

1.0.0-rc.5

6 years ago

1.0.0-rc.4

6 years ago

1.0.0-rc.3

6 years ago

1.0.0-rc.2

6 years ago

1.0.0-rc.1

6 years ago

0.0.1

11 years ago