Skip to content
Reactive Form Builder for Vue.js with Laravel Support
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github release Apr 29, 2019
assets release Apr 29, 2019
dist default config update Aug 18, 2019
src/themes community edition Aug 18, 2019
.gitignore community edition Aug 18, 2019
LICENSE readme update Aug 18, 2019
package.json package version update Aug 18, 2019

Reactive form builder for Vue.js with Laravel support

Create even the most complex forms with ease, using two-sided validation,
eloquent, nested elements, conditional logic, wizards and many more.

Laraform Community Edition (Vue.js)

Laraform is a premium library aiming to become the world's best form builder tool for web developers. It enhances collaboration by standardizing the creation of forms and increases efficiency by eliminating tons of repetitive work. Laraform comes with a lighter "Community Edition" and a full version which can be purchased at our website.


Full features of Laraform:

  • Two-sided validation
  • 54 Laravel compatible frontend validators
  • Eloquent ORM support
  • Multiple file uploads
  • 34+ built-in elements
  • Nested elements
  • Repeatable elements
  • Translatable elements
  • Conditional logic
  • Form wizard
  • Localization
  • Theming
  • Extensibility


Browser Support

Laraform aims to support the latest versions of:

  • Google Chrome
  • Firefox
  • Apple Safari
  • Microsoft Edge
  • Opera
  • Internet Explorer 10+
  • Safari iOS
  • Chrome, Firefox and Default Browser Android


Laraform is a full-stack library which comes with a separate frontend and backend library.

Install frontend library for Vue.js:

npm i laraform --save

Install backend library for Laravel:

composer require laraform/laraform-laravel

This will install Laraform's Community Edition. For the full package please check out our website.


Include javascript library:

import Vue from 'vue'
import Laraform from 'laraform'


const app = new Vue({
  el: '#app'

Import SCSS:

@import '~laraform/src/themes/bs4/scss/theme.scss';

Create a form:

// MyFirstForm.vue

  export default {
    mixins: [Laraform],
    data: () => ({
      schema: {
        hello_world: {
          type: 'text',
          label: 'Hello',
          default: 'World',

Add as a component and render:

  <div id="app">

Add Backend Support For Laravel

Publish config:

php artisan vendor:publish

Choose Laraform\LaraformServiceProvider

Create a form:

// app/Forms/MyFirstForm.php

namespace App\Forms;

use Laraform;

class MyFirstForm extends Laraform
  public $schema = [
    'hello_world' => [
      'type' => 'text',
      'label' => 'Hello',
      'default' => 'World'

Pass the form to the view:

// routes/web.php

Route::get('/', function () {
  return view('welcome', [
    'form' => app('App\Forms\MyFirstForm')


<!-- resources/views/welcome.blade.php --->

    <!-- ... --->
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <link rel="stylesheet" type="text/css" href="/css/app.css">
    <div id="app">
      {!! $form->render() !!}

    <script src="/js/app.js"></script>

Check out our docs for the full Installation and Usage guide.


A complete Developer Guide and API Reference is available at Laraform website.

Issue Tracking

Laraform uses GitHub Issues for official bug tracking. Please follow our issue template to help us hunt down bugs as efficiently as possible.

Support & Contribution

If you have any questions about Laraform or interested in contributing, please drop us a line at We are happy for receiving feedbacks as well as growing our enthusiastic developer team.


Laraform Community Edition comes with an MIT license so you are free to use this library in your projects. For the full version check out the licesne at our website.

You can’t perform that action at this time.