vee-validate

Template-based form validation library for Vue.js with Composition API support

Library
npm
v4.15.1
11,264 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
58 /100 Fair
Development Activity 4
Maintenance 44
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
77 /100 Good
Architecture 80
Code Quality 78
Innovation 74
Learning Curve 76

vee-validate is a Vue.js form validation library that lets you validate form fields either declaratively in templates (via Field/Form components) or programmatically through Composition API hooks like useField and useForm. It supports both simple function/regex rules and full schema validation through Yup or Zod, plus field arrays for dynamic repeating inputs.

The project is organized as a monorepo, with the core vee-validate package accompanied by @vee-validate/rules (a library of common validation rules), @vee-validate/i18n (localized error messages), @vee-validate/zod/Yup schema adapters, and a Nuxt module, so teams can pull in only the pieces they need.

What You Get

  • Field, Form, FieldArray, and ErrorMessage components for declarative, template-based validation
  • Composition API hooks (useField, useForm, useFieldArray, useIsFormValid, etc.) for programmatic form state and validation
  • Schema validation adapters for Yup and Zod (@vee-validate/zod) alongside plain function/object validators
  • @vee-validate/rules — a companion package of common validation rules (required, email, min/max, etc.)
  • @vee-validate/i18n for localized validation error messages
  • A Nuxt module (@vee-validate/nuxt) for zero-config integration in Nuxt applications

Common Use Cases

  • Validating multi-field forms (signup, checkout, settings) with per-field and form-level error states
  • Building dynamic, repeating field groups (e.g. line items, addresses) with FieldArray
  • Reusing a Yup or Zod schema already defined for API validation to also drive client-side form validation
  • Migrating between Options API and Composition API codebases while keeping the same validation logic via composables

Under The Hood

Architecture - The monorepo (packages/) separates the core (packages/vee-validate/src) from optional add-ons: packages/rules ships prebuilt validator functions, packages/i18n ships locale message bundles, and packages/nuxt wraps the core as a Nuxt module; the core itself exposes both components (Field.ts, Form.ts, FieldArray.ts, ErrorMessage.ts) and composables (useField.ts, useForm.ts, plus a large family of granular use* hooks like useIsFieldDirty/useSetFieldValue) that share validation logic through validate.ts and a symbols.ts-based provide/inject context. Tech Stack - Written almost entirely in TypeScript (97.9%) for Vue 3, managed as a pnpm workspace with Changesets for release versioning, Vitest for testing, and a VitePress-based docs site under docs/; schema validation integrates with the separately maintained Yup and Zod libraries rather than shipping its own schema DSL. Code Quality - The core package alone spans 4,500+ lines across ~30 composable/component files, each scoped to a single concern (one hook per form-state facet), with ESLint, Prettier, and TypeScript strict-mode enforced via pnpm lint/pnpm typecheck; however GitHub activity data shows low recent commit velocity and infrequent maintenance despite the project’s popularity and long history (since 2016, 4,870+ commits). API Design - Exposing both a declarative component API and an equivalent composable API for the same underlying validation engine gives adopters a smooth on-ramp regardless of whether their codebase favors templates or the Composition API, and the fine-grained use* hooks (one per concern) make it easy to subscribe to just the piece of form state a component needs.

Used by 7 apps in this directory

PHP
82%
Other

Akaunting

Invoicing Finance

10,149

Open-source online accounting for small businesses and freelancers — invoices, expenses, and reporting without monthly fees or vendor lock-in.

View details
98
Repo Health
73
Technical
63
Dependency
Built with
PHP 82%
Blade 13%
Updated 5 days ago
PHP
73%
MIT

Bagisto

Analytics · Ecommerce

28,186

Open-source Laravel eCommerce platform for building multi-vendor marketplaces, B2B stores, headless commerce, and AI-powered storefronts.

View details
93
Repo Health
75
Technical
67
Dependency
Built with
PHP 73%
Blade 21%
Updated 1 weeks ago
Rust
52%
Other

hoodik

File Storage · Security

1,484

Self-hosted, end-to-end encrypted cloud storage with browser-based encryption and S3-compatible storage support

View details
79
Repo Health
71
Technical
63
Dependency
Built with
Rust 52%
TypeScript 33%
Vue 14%
Updated 1 weeks ago
Rust
37%
Other

Hook0

Devops

1,491

Open-source Webhooks-as-a-Service: deliver events to your users with auto-retry, signed payloads, and a real-time subscriber dashboard — all without building the infrastructure yourself.

View details
82
Repo Health
82
Technical
69
Dependency
Built with
Rust 37%
TypeScript 12%
Updated 1 weeks ago
PHP
51%
MIT

Krayin CRM

CRM · Ecommerce

23,954

Free, open-source Laravel & Vue.js CRM for SMEs and enterprises to manage the complete customer lifecycle.

View details
90
Repo Health
68
Technical
70
Dependency
Built with
PHP 51%
Blade 43%
Updated 1 weeks ago
TypeScript
72%
Apache 2.0

Litlyx

Analytics

1,742

Cookie-free, AI-powered web analytics you can self-host in 30 seconds with Docker.

View details
45
Repo Health
51
Technical
72
Dependency
Built with
TypeScript 72%
Vue 26%
Updated 10 months ago
Vue
41%
AGPL 3.0

Operational

Analytics · Automation · Monitoring

475

Open-source event tracker with real-time push notifications and action buttons for tech founders.

View details
52
Repo Health
68
Technical
68
Dependency
Built with
Vue 41%
JavaScript 38%
MDX 13%
Updated 2 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers