vue-formly

A simple and extendable form builder for Vue.js
5,701 234
Install
npm install vue-formly
Latest Version:2.5.9
Vue:2
Older releases:1
License:MIT
Last Updated:Jan 12, 2023
Links: GitHub  ·  npm
Maintainer: mattsanders

Vue Formly

Vue Formly is a JS based form builder heavily inspired by Angular Formly. Vue Formly was designed to provide an easy way to keep your forms consistent and to remove bloat from your code. As there's no "one way" to design your forms, Vue Formly allows you to create custom input types which you can use in your form schemas. Vue Formly itself does not come with any inputs pre-loaded but a set of Boostrap form inputs can be installed over at Vue Formly Bootstrap.

NOTE This is version 2 of Vue Formly and is only compatible with Vue 2.x. If you are wanting to use this with Vue 1.x then check out the Vue Formly 1 Branch.

Installation

npm install vue-formly

Or via a script

<script src="your_dir/vue-formly/vue-formly.min.js"></script>

Usage

Take a look at the docs for extended information about using Formly and creating custom input types. But here is a quick example: NOTE that for Vue Formly to work correctly you must also include a set of input types. You can either create your own or check out Vue Formly Bootstrap which has many already created for you.

<div id="app">
   <form @submit="handleSubmission">
      <formly-form :form="form" :model="model" :fields="fields"></formly-form>
      <button>Submit</button>
   </form>
</div>
new Vue({
   el: '#app',
   data: {
      model: {
         name: '',
         email: '',
         password: ''
      },
      form: {},
      fields: [
         {
            key: 'name',
            type: 'input',
            required: true
         },
         {
            key: 'email',
            type: 'input',
            templateOptions: {
               type: 'email'
            },
            required: true,
            validators: {
               validEmail: checkEmailFunction
            }
         },
         {
            key: 'password',
            type: 'input',
            templateOptions: {
               type: 'password'
            },
            required: true,
            validators: {
               validPassword: checkPasswordFunction
            }
         }
      ]
   }
});

Related Packages

@rc-component/async-validator

Validate form asynchronous

99,929,287 16
@molgenis/molgenis-ui-form

Library for generating HTML web forms

6,017 0
@qtxr/vue-form

Powerful Vue forms based on @qtxr/form

3,348
@agtm/nuxt-form

Gerador de Formulário para o nuxt framework

2,560 1
vue-master-form

vue fast create form

1,660

Version History

Version Released Vue License
2.5.9 2.x MIT
2.5.8 2.x MIT
2.5.7 2.x MIT
2.5.6 2.x MIT
2.5.4 2.x MIT