All Projects → vue-generators → Vue Form Generator

vue-generators / Vue Form Generator

Licence: mit
📋 A schema-based form generator component for Vue.js

Programming Languages

javascript
184084 projects - #8 most used programming language
Vue
7211 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Vue Form Generator

Vue Form Json Schema
Create forms using JSON schema. Bring your components!
Stars: ✭ 253 (-91.13%)
Mutual labels:  schema, generator, form, vuejs2
Schema Generator
PHP Model Scaffolding from Schema.org and other RDF vocabularies
Stars: ✭ 379 (-86.72%)
Mutual labels:  schema, generator
Graphback
Graphback - Out of the box GraphQL server and client
Stars: ✭ 323 (-88.68%)
Mutual labels:  schema, generator
Fielder
A field-first form library for React and React Native
Stars: ✭ 160 (-94.39%)
Mutual labels:  schema, form
Vue Generate Component
Vue js component generator
Stars: ✭ 206 (-92.78%)
Mutual labels:  generator, vuejs2
Schema Plugin Flow
A highly extensible JavaScript library, abbreviated as Sifo. 一个高扩展性、可二开的插件式前端开发框架
Stars: ✭ 288 (-89.91%)
Mutual labels:  schema, form
Vue Rawmodel
RawModel.js plugin for Vue.js v2. Form validation has never been easier!
Stars: ✭ 79 (-97.23%)
Mutual labels:  schema, form
Vue Ui For Pc
基于Vue2.x的一套PC端UI组件,包括了Carousel 跑马灯、Cascader 级联、Checkbox 多选框、Collapse 折叠面板、DatePicker 日期选择、Dialog 对话框、Form 表单、Input 输入框、InputNumber 数字输入框、Layer 弹窗层、Loading 加载、Menu 菜单、Page 分页、Progress 进度条、Radio 单选框、SelectDropDown 仿select、Switch 开关、Table 表格、Tabs 标签页、Textarea 文本框、Tooltip 文字提示、BackTop 返回顶部、steps 步骤条、Transfer 穿梭框、Tree 树形、Upload 文件上传、Lazy 图片懒加载、Loading 加载、Pagination 分页等等
Stars: ✭ 156 (-94.53%)
Mutual labels:  form, vuejs2
vue-example
Vue.js example application (server-side rendering, router, vuex store, form validation, i18n & l10n)
Stars: ✭ 62 (-97.83%)
Mutual labels:  schema, form
Pollinate
Template your base files and generate new projects from Git(Hub).
Stars: ✭ 213 (-92.53%)
Mutual labels:  schema, generator
Vuetify Form Base
Schema-based Form Generator - Vue.js 2.0 Component based on Vuetify 2.0
Stars: ✭ 157 (-94.5%)
Mutual labels:  generator, form
DataAnalyzer.app
✨🚀 DataAnalyzer.app - Convert JSON/CSV to Typed Data Interfaces - Automatically!
Stars: ✭ 23 (-99.19%)
Mutual labels:  schema, generator
Vue Generator
A CLI generator for Vue components, views and store modules
Stars: ✭ 111 (-96.11%)
Mutual labels:  generator, vuejs2
Mimesis
Mimesis is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages.
Stars: ✭ 3,439 (+20.54%)
Mutual labels:  schema, generator
Ncform
🍻 ncform, a very nice configuration generation way to develop forms ( vue, json-schema, form, generator )
Stars: ✭ 1,009 (-64.63%)
Mutual labels:  generator, form
Native
Generate a form using JSON Schema and Vue.js
Stars: ✭ 382 (-86.61%)
Mutual labels:  schema, form
Vuelidation
simple, powerful, vuejs validation.
Stars: ✭ 38 (-98.67%)
Mutual labels:  form, vuejs2
Vue Form Wizard
Vue.js 2 wizard
Stars: ✭ 1,053 (-63.09%)
Mutual labels:  form, vuejs2
Epage
一款基于schema的可视化页面配置工具
Stars: ✭ 194 (-93.2%)
Mutual labels:  schema, form
formily
Simple, lightweight, and flexible schema-based form for Vue.js
Stars: ✭ 23 (-99.19%)
Mutual labels:  schema, form

vue-form-generator NPM version VueJS v2.x compatible

A schema-based form generator component for Vue.js.

Codacy Badge Build Status Coverage Status NPMS.io score Package Quality FOSSA Status

Dependency Status devDependency Status Downloads

Demo

JSFiddle simple example

CodePen simple example

Screenshot

Features

  • reactive forms based on schemas
  • multiple object editing
  • 21 field types
  • built-in validators
  • core & full bundles (41kb and 50kb gzipped)
  • Bootstrap friendly templates
  • customizable styles
  • can be extended easily with custom fields
  • ...etc

Documentation

Online documentation on Gitbook

Dependencies

vue-form-generator uses fecha and lodash internally.

While built-in fields don't need external dependencies, optional fields may need other libraries. These dependencies fall into two camps: jQuery or Vanilla. You can find almost the same functionality in both flavors. In the end, it's your choice to depend on jQuery or not.

You can find details about dependencies in the official documentation under each specific component.

Installation

NPM

You can install it via NPM or yarn.

Latest version for Vue 2.x

$ npm install vue-form-generator

Legacy version for Vue 1.0.x

$ npm install [email protected]

Manual

Download zip package and unpack and add the vfg.css and vfg.js file to your project from dist folder.

https://github.com/vue-generators/vue-form-generator/archive/master.zip

Core vs Full version

VueFormGenerator come in two version : core and full. Core is a more minimal version with only half the fields. Full is core + other fields.

  • Full bundle: 172 kB (gzipped: 50 kB)
  • Core bundle: 146 kB (gzipped: 41 kB)

If you don't know what to choose, don't worry, the full is the default version. If you want the slim down version, here is the changes:

// the "full" way
<script>
  import VueFormGenerator from "vue-form-generator";
  import "vue-form-generator/dist/vfg.css";  // optional full css additions
</script>

// the "core" way
<script>
  import VueFormGenerator from "vue-form-generator/dist/vfg-core.js";
  import "vue-form-generator/dist/vfg-core.css";  // optional core css additions
</script>

Usage

<template>
  <div class="panel-body">
    <vue-form-generator :schema="schema" :model="model" :options="formOptions"></vue-form-generator>
  </div>
</template>

<script>
import Vue from 'vue'
import VueFormGenerator from 'vue-form-generator'
import 'vue-form-generator/dist/vfg.css'

Vue.use(VueFormGenerator)

export default {
  data () {
    return {
      model: {
        id: 1,
        name: 'John Doe',
        password: 'J0hnD03!x4',
        skills: ['Javascript', 'VueJS'],
        email: '[email protected]',
        status: true
      },
      schema: {
        fields: [
          {
            type: 'input',
            inputType: 'text',
            label: 'ID (disabled text field)',
            model: 'id',
            readonly: true,
            disabled: true
          },
          {
            type: 'input',
            inputType: 'text',
            label: 'Name',
            model: 'name',
            placeholder: 'Your name',
            featured: true,
            required: true
          },
          {
            type: 'input',
            inputType: 'password',
            label: 'Password',
            model: 'password',
            min: 6,
            required: true,
            hint: 'Minimum 6 characters',
            validator: VueFormGenerator.validators.string
          },
          {
            type: 'select',
            label: 'Skills',
            model: 'skills',
            values: ['Javascript', 'VueJS', 'CSS3', 'HTML5']
          },
          {
            type: 'input',
            inputType: 'email',
            label: 'E-mail',
            model: 'email',
            placeholder: 'User\'s e-mail address'
          },
          {
            type: 'checkbox',
            label: 'Status',
            model: 'status',
            default: true
          }
        ]
      },
      formOptions: {
        validateAfterLoad: true,
        validateAfterChanged: true,
        validateAsync: true
      }
    }
  }
}
</script>

Usage in local components

import VueFormGenerator from "vue-form-generator";

//component javascript
export default {
	components: {
		"vue-form-generator": VueFormGenerator.component
	}
};

Development

This command will start a webpack-dev-server with content of dev folder.

npm run dev

Build

This command will build a distributable version in the dist directory.

npm run build

Test

npm test

or

npm run ci

More fields new

VueFormGenerator supports custom fields. If you decide to release your custom field into the wild, please open a new issue so we can add you to a list here! Please try to use this naming convention for your custom field : vfg-field-* Example :

  • vfg-field-myfield
  • vfg-field-calendar
  • vfg-field-awesome-dropdown

This way, it will be easier for everyone to find it. Thank you !

Public Custom Fields

  • vue-tel-input - International Telephone Input Boilerplate with Vue (integrated with VueFormGenerator).
  • vfg-field-sourcecode - A source code field for vue-form-generator
  • vfg-field-array - A vue-form-generator field to handle arrays of items of any type.
  • vfg-field-object - A vue-form-generator field to handle objects, with or without schemas.
  • vfg-field-matrix - A matrix field for vue-form-generator.

Contribution

Please send pull requests improving the usage and fixing bugs, improving documentation and providing better examples, or providing some testing, because these things are important.

License

vue-form-generator is available under the MIT license.

Contact

Copyright (C) 2017 Icebob

@icebob @icebob

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].