21

Introduction

Headless, schema-agnostic form management for Vue 3 and Nuxt.
NotForm is a powerful, lightweight form state and validation library built specifically for the Vue 3 Composition API.

It handles validation state, dirty/touched tracking, per-field triggers, and complex array manipulations. However, NotForm renders absolutely nothing. It provides the state, and you provide the UI.

Why NotForm?

Building forms in Vue often involves choosing between a massive UI library that dictates your design, or a complex validation library that requires endless boilerplate.

NotForm bridges this gap. It works flawlessly with any Standard Schema compliant validator (like Zod, Valibot, or ArkType) and lets you bring your own components—whether they are native HTML elements, Nuxt UI, or Shadcn Vue.

Schema-agnostic Validation

Full-form and per-field validation with async support. Trigger validations on blur, input, change, focus, or component mount.

Granular State Tracking

Fields are compared against initial values on every keystroke. Touched and dirty states are managed automatically.

Dynamic Array Fields

Append, prepend, insert, remove, swap, and move array items with stable keys that survive reorders.

End-to-End Type Safety

Field paths and their value types are strictly inferred from your schema. Invalid paths trigger compile-time errors.

Next steps

Ready to dive in? Check out the Installation guide to add NotForm to your project.