Need help with vue-formly?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

formly-js
224 Stars 32 Forks MIT License 125 Commits 7 Opened issues

Description

JavaScript powered forms for Vue.js

Services available

!
?

Need anything else?

Contributors list

Vue Formly

Looking for maintainers

It's been many years since I first created Vue Formly and it's been a great project. However, it was a project that started because I couldn't quite find anything that fit my requirements at the time. I've sinced moved on, things have changed, and I no longer have the time I need to keep working on this. So if you'd like to get on board or take it into Vue 3 support, you're most welcome.

About

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

html

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.

html
Submit
js
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
            }
         }
      ]
   }
});

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.