vee-validate
Template-based form validation library for Vue.js with Composition API support
Repository Health
Technical Analysis
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, andErrorMessagecomponents 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/i18nfor 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
Akaunting
Invoicing Finance
Open-source online accounting for small businesses and freelancers — invoices, expenses, and reporting without monthly fees or vendor lock-in.
Bagisto
Analytics · Ecommerce
Open-source Laravel eCommerce platform for building multi-vendor marketplaces, B2B stores, headless commerce, and AI-powered storefronts.
hoodik
File Storage · Security
Self-hosted, end-to-end encrypted cloud storage with browser-based encryption and S3-compatible storage support
Hook0
Devops
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.
Krayin CRM
Ecommerce · CRM
Free, open-source Laravel & Vue.js CRM for SMEs and enterprises to manage the complete customer lifecycle.
Litlyx
Analytics
Cookie-free, AI-powered web analytics you can self-host in 30 seconds with Docker.
Operational
Analytics · Automation · Monitoring
Open-source event tracker with real-time push notifications and action buttons for tech founders.