Skip to content

Mini-ghost/vorms

Folders and files

NameName
Last commit message
Last commit date
Jun 19, 2023
Apr 27, 2022
Apr 27, 2022
Nov 2, 2024
Mar 4, 2024
Aug 7, 2023
Nov 19, 2022
Apr 27, 2022
Nov 27, 2022
Nov 2, 2024
Apr 27, 2022
Apr 27, 2022
Apr 27, 2022
Nov 10, 2022
Nov 10, 2022
Jul 8, 2022
Nov 2, 2024
Nov 19, 2022
Jun 19, 2023
Feb 18, 2024
May 8, 2022
May 27, 2022
Nov 9, 2022

Repository files navigation

Vorms - Vue Form Validation with Composition API
Vue Form Validation with Composition API

NPM version Documentations NPM Downloads
GitHub stars

Feature

  • Type Strong: Written in TypeScript, with TSDoc.
  • Lightweight: Only 12kb compressed (4kb compressed + gzip compressed) and fully tree-shaking.
  • Easiest: Vorm uses the Composition API to give you a very seamless development experience.
  • Flexible: Yup, Zod, Valibot and self-def validation are supported.

Install

npm install @vorms/core

CDN

<script src="https://unpkg.com/@vorms/core"></script>

It will be exposed to global as window.Vorms

Usage

setup script

import { useForm } from '@vorms/core'

const sugarOptions = ['no', 'light', 'half', 'standard']

const { register, handleSubmit, handleReset } = useForm({
  initialValues: {
    drink: '',
    sugar: 'light',
  },
  onSubmit(data) {
    console.log(data)
  }
})

const { value: drink, attrs: drinkFieldAttrs } = register('drink')
const { value: sugar, attrs: sugarFieldAttrs } = register('sugar')

template

<form @submit="handleSubmit" @reset="handleReset">
  <label>Drink</label>
  <input v-model="drink" type="text" v-bind="drinkFieldAttrs">

  <label>Sugar level</label>
  <select v-model="sugar" v-bind="sugarFieldAttrs">
    <option v-for="item in sugarOptions" :key="item" :value="item">
      {{ item }}
    </option>
  </select>

  <button type="reset">Reset</button>
  <button type="submit">Submit</button>
</form>

Refer documentations for more details.

Examples

Thanks

This project is heavily inspired by the following awesome projects.

Contributors

Thanks to the wonderful people who have already contributed to Vorms!

Made with contrib.rocks.

License

MIT License © 2022-PRESENT Alex Liu