Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
V

vest

> 前端框架
Open source

Vest ✅ Declarative validations framework

2.7K stars0 likes0 views
WebsiteGitHub

About

Vest ✅ Declarative validations framework

Vest — form validation written like unit tests

Documentation · Async race demo · Getting started

Vest runs the tests for the field or step that changed and keeps the results for everything else. When async checks overlap, only the latest result can update the suite.

Vest validates what changed, remembers what already passed, and prevents stale async validation results.

The validation rules read like unit tests. The stateful runtime is what makes Vest different.

…

Why Vest?

  • Incremental execution: Validate a field, group, or step without rerunning everything.
  • Retained validation state: A focused run updates part of the existing result instead of replacing it.
  • Race-safe async: Track pending work, cancel obsolete requests, and ignore stale completions.
  • Real workflow primitives: Model dependent fields, conditional sections, warnings, optional values, groups, and dynamic lists.
  • Client and server continuity: Run statelessly on the server and resume full validation state in the browser.
  • Framework independence: Use the same suite with React, Vue, Svelte, Angular, vanilla JavaScript, or Node.js.
  • TypeScript and schemas: Infer typed inputs and parsed outputs with Enforce schemas.
  • Standard Schema interoperability: Pass suites and Enforce rules to compatible tools while keeping run() and runStatic() as Vest's execution APIs.
  • Familiar, testable rules: Keep business validation outside UI components in suites that are easy to unit-test.

Where Vest fits

Layer Responsibility Typical tools Form state Values, registration, touched state, submission React Hook Form, Formik Data boundary Parse and protect a complete payload Zod, Valibot, Ajv, Enforce schemas Validation state Decide what runs now, retain results, coordinate async work Vest

These layers are complementary. A common architecture uses a form manager for input mechanics, Vest for progressive interaction, and a schema validator for the final submitted boundary.

Where Vest works well

Vest works well for:

  • async username, email, inventory, coupon, or eligibility checks;
  • onboarding and multi-step workflows;
  • linked fields and cross-field business rules;
  • warnings that should not block submission;
  • optional and conditional sections;
  • dynamic lists of travelers, products, or addresses;
  • rules shared between browser and server;
  • SSR workflows that should not validate everything twice.

For a trivial synchronous form or a one-shot API parse, native HTML validation or a schema validator may be all you need.

Installation

npm i vest

Start here

  • Getting started
  • Vest tutorials
  • How Vest handles validation
  • Async validation without race conditions
  • Complete registration example
  • When not to use Vest
  • Vest, schema validators, and form libraries
  • Consumer AI usage guide
  • Public roadmap

Contributing

Contributions are welcome. See CONTRIBUTING.md.

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •Incremental execution: Validate a field, group, or step without rerunning everything.
  • •Retained validation state: A focused run updates part of the existing result instead of replacing it.
  • •Race-safe async: Track pending work, cancel obsolete requests, and ignore stale completions.
  • •Real workflow primitives: Model dependent fields, conditional sections, warnings, optional values, groups, and dynamic lists.
  • •Client and server continuity: Run statelessly on the server and resume full validation state in the browser.
  • •Framework independence: Use the same suite with React, Vue, Svelte, Angular, vanilla JavaScript, or Node.js.
  • •TypeScript and schemas: Infer typed inputs and parsed outputs with Enforce schemas.
  • •Standard Schema interoperability: Pass suites and Enforce rules to compatible tools while keeping run() and runStatic() as Vest's execution APIs.
  • •Familiar, testable rules: Keep business validation outside UI components in suites that are easy to unit-test.
  • •async username, email, inventory, coupon, or eligibility checks;

> Tags

TypeScriptformform-validationformshacktoberfest

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category前端框架
PricingOpen source

> Related tools

R
React
用于构建用户界面的 JavaScript 库
V
Vue.js
渐进式 JavaScript 框架
N
Next.js
基于 React 的全栈 Web 框架