PHPackages                             bijoy4067/vueform-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bijoy4067/vueform-laravel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

bijoy4067/vueform-laravel
=========================

VueForm Laravel is a server-side form builder package for Laravel that allows developers to create and manage forms using Vue 3 components.

1.0.4(1mo ago)16MITPHPPHP ^8.2CI failing

Since Jan 10Pushed 1mo agoCompare

[ Source](https://github.com/bijoy4067/vueform-laravel)[ Packagist](https://packagist.org/packages/bijoy4067/vueform-laravel)[ Docs](https://vueform-laravel.vercel.app)[ RSS](/packages/bijoy4067-vueform-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (6)Used By (0)

[![Vueform Laravel](https://camo.githubusercontent.com/fc5d34f294b310d9bc0f05e894cb944d36f9cf30551ec9bea4cd09de3709eb7d/68747470733a2f2f767565666f726d2d6c61726176656c2e76657263656c2e6170702f6173736574732f696d616765732f6c6f676f2e706e67)](https://vueform-laravel.vercel.app/)

VueForm Laravel Form Builder - Build Laravel Forms with Vue 3 Without JavaScript
================================================================================

[](#vueform-laravel-form-builder---build-laravel-forms-with-vue-3-without-javascript)

[![Latest Version](https://camo.githubusercontent.com/68717a5d908e63d424a2553be226886cf721ceda32143f388949a4c907430422/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62696a6f79343036372f767565666f726d2d6c61726176656c)](https://packagist.org/packages/bijoy4067/vueform-laravel)[![License](https://camo.githubusercontent.com/bd616ae3bf7936f3236fdd381907002a70449466b83d357fc719d69ab464cb40/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f62696a6f79343036372f767565666f726d2d6c61726176656c)](LICENSE)[![PHP Version](https://camo.githubusercontent.com/85000eb4abc120b56fbf7fba199f07f10dab31f5678ef37ba192978ef423bed6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f62696a6f79343036372f767565666f726d2d6c61726176656c)](https://packagist.org/packages/bijoy4067/vueform-laravel)[![Laravel Form Builder](https://camo.githubusercontent.com/69a06c773587cb4fd46997c50c70e0aa656710141e5d21c90b43147bdf6dca73/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d466f726d2532304275696c6465722d626c7565)](https://laravel.com)[![Vue 3 Forms](https://camo.githubusercontent.com/a4e3ad9253da7bfcee7c3bb82b6565e6ff6ebbe418eac4410ba10d7b6a140773/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f567565253230332d466f726d732d677265656e)](https://vuejs.org)[![Material Design](https://camo.githubusercontent.com/ac43c82245f8efc20d82d78a57b183f6c2a7730b41fc95e8832731431910d458/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6174657269616c2d44657369676e2d707572706c65)](https://material.io)

**VueForm Laravel** is a powerful, production-ready PHP form builder that integrates VueForm's reactive UI components with Laravel's backend validation. Create beautiful, responsive forms entirely in PHP without writing JavaScript code. Perfect for Laravel developers who want modern form interfaces with Material Design themes.

**Key Benefits:**

- ✅ **Zero JavaScript Required** - Build forms in pure PHP
- ✅ **Laravel Integration** - Native validation, routing, and security
- ✅ **Material Design UI** - Professional, responsive forms
- ✅ **Theme Support** - Multiple themes including dark mode
- ✅ **Production Ready** - Optimized assets and performance
- ✅ **Developer Friendly** - Easy to learn, extensive documentation

[📖 Full Documentation](https://vueform-laravel.vercel.app/) | [🚀 Quick Start](#-quick-start-guide) | [🎨 Themes](#-themes)

---

📋 Table of Contents
-------------------

[](#-table-of-contents)

- [Why VueForm Laravel?](#-why-vueform-laravel)
- [Key Features](#-key-features)
- [Requirements](#-requirements)
- [Installation](#-installation)
- [Quick Start Guide](#-quick-start-guide)
- [Themes](#-themes)
- [Configuration](#%EF%B8%8F-configuration)
- [Creating Form Components](#%EF%B8%8F-creating-form-components)
- [Rendering Forms](#%EF%B8%8F-rendering-forms)
- [Form Submission Handling](#-form-submission-handling)
- [Advanced Usage](#-advanced-usage)
- [Performance Optimization](#-performance-optimization)
- [Troubleshooting](#-troubleshooting)
- [Contributing](#-contributing)
- [License](#-license)

---

🚀 Why VueForm Laravel?
----------------------

[](#-why-vueform-laravel)

VueForm Laravel bridges the gap between Laravel's powerful backend and modern frontend form experiences. As a PHP developer, you can now create interactive, validated forms without learning Vue.js or managing complex frontend build processes.

**Perfect for:**

- Laravel developers building admin panels
- PHP developers creating user registration forms
- Teams needing consistent form styling across applications
- Projects requiring rapid form development
- Applications with complex validation requirements

**What makes it special:**

- **Server-Side First**: Define forms in PHP with Laravel validation
- **Client-Side Enhancement**: Automatic Vue 3 reactivity and Material Design
- **Zero Configuration**: Works out-of-the-box with Laravel
- **SEO Friendly**: Server-rendered forms with JavaScript enhancement
- **Accessible**: WCAG compliant form components

---

✨ Key Features
--------------

[](#-key-features)

### For PHP Developers

[](#for-php-developers)

- **Reusable Form** - Anywhere in your `.blade.php` file you can use this form
- **Laravel Validation Integration** - Use familiar validation rules directly in form definitions
- **Dynamic Routing** - Automatic endpoint generation based on Laravel routes

### Form Element Types

[](#form-element-types)

- **Text Inputs** - Text, email, password, textarea, URL, number
- **Selection Controls** - Radio, checkbox, select, multiselect, toggle
- **Date &amp; Time** - Date picker, time picker, datetime picker
- **File Uploads** - Single/multiple file upload with preview
- **Rich Content** - WYSIWYG editor, markdown editor
- **Dynamic Lists** - Repeatable field groups with add/remove
- **Layout Elements** - Groups, columns, tabs, steps

---

🔧 Requirements
--------------

[](#-requirements)

- **PHP**: 8.0 or higher
- **Laravel**: 9.x, 10.x, or 11.x
- **Composer**: 2.x or higher
- **Browser Support**: Modern browsers (Chrome, Firefox, Safari, Edge)

> **Note**: This package works with Laravel's default frontend setup. No Vue CLI, Vite, or npm installation required on your end—all frontend assets are pre-bundled.

---

📦 Installation
--------------

[](#-installation)

### Step 1: Install via Composer

[](#step-1-install-via-composer)

```
composer require bijoy4067/vueform-laravel
```

### Step 2: Publish Configuration and Assets

[](#step-2-publish-configuration-and-assets)

```
php artisan vendor:publish --tag=vueform-laravel --force
```

This command publishes:

- Configuration file to `config/vueform-laravel.php`
- Pre-compiled CSS and JavaScript assets to your `public` directory
- Stubs for form component generation

### Step 3: Add Assets to Your Layout

[](#step-3-add-assets-to-your-layout)

Add the following to your main Blade layout's `` section (typically `resources/views/layouts/app.blade.php`):

```

    {{ VueFormLaravel\Abstracts\VueFormBuilder::loadAssets() }}

```

**What this does**: Loads pre-compiled Vue 3 components, VueForm library, and Material Theme styles. No build process needed.

---

🚀 Quick Start Guide
-------------------

[](#-quick-start-guide)

### Create Your First Form (2 minutes)

[](#create-your-first-form-2-minutes)

#### 1. Generate a Form Component

[](#1-generate-a-form-component)

```
php artisan vueform:make ContactForm
```

This creates `app/VueForm/ContactForm.php` with boilerplate code.

#### 2. Define Form Schema

[](#2-define-form-schema)

Open `app/VueForm/ContactForm.php` and add your form fields:

```
