erag/inertia-forms

Define Laravel forms in PHP and render them with Inertia.js in Vue, React, or Svelte. Validation, conditional visibility, authorization, and model binding included.
16
Install
composer require erag/inertia-forms
Latest Version:v0.0.1
PHP:^8.3
License:MIT
Last Updated:Sep 30, 2026
Links: GitHub  ·  Packagist
Maintainer: eramitgupta

Laravel Inertia Forms

Define Laravel forms in PHP. Render them in Vue, React, or Svelte with one <Form> component.

Write the fields, layout, and validation once in a Laravel class. The same class draws the form in the browser and validates the request on the server, so you never repeat labels, rules, or error handling again.

Documentation · Live Demo · Demo Apps · Sponsor

Features

  • 🧩 Forms in PHP — one class holds the fields, layout, validation, and submit route.
  • 📝 22 fields — text, textarea, hidden, combobox (searchable, multiple, server search), radio, checkbox, checkbox group, toggle, date and date range, time, color, slider, file upload, tags, key-value, repeater, blocks, link, slug, one-time code, chat composer, and submit buttons, plus headings, text, callouts and separators.
  • ⚡ Vue, React and Svelte — the same PHP class renders in all three, built on one shared core with no runtime dependencies.
  • ✅ Validation from the fields — required(), email(), options, file types, and more become Laravel rules. Validate with #[Validate].
  • 👁️ Conditional fields — visibleWhen() and hiddenWhen() work in the browser and in validation.
  • 🔐 Authorization — authorizedWhen() removes fields, and their rules, for users who should not see them.
  • 🔗 Model binding — ->bind($user) fills an edit form from a model or array.
  • 🪜 Wizards — multi-step forms with a stepper, each step checked on the server.
  • 📐 Fieldsets and grid layout — group fields, add legends and icons, and use columns.
  • 🎯 Several actions — submit buttons with variants, sizes, icons and intent(), plus disableUntilDirty() for unsaved changes.
  • 🎨 200+ icons, no icon library — icon('rocket'), sent as SVG only when used. Register your own with Icon::register().
  • 🧱 Custom fields — add your own PHP field and its Vue, React or Svelte component.
  • 🌗 Accessible and themeable — labels, aria-*, focus handling, dark mode, accent colors, Tailwind CSS 4.
  • 🤖 Artisan and AI ready — erag:install-inertia-forms, make:form, and Laravel Boost guidelines with a skill for AI agents.

Documentation

https://erag.in/laravel-inertia-forms/

Demo apps

Complete Laravel 13 + Inertia 3 apps built with this package: 15 real-world forms, each with full CRUD (list, create, view, edit, delete), search, file uploads, custom fields and a Pest test suite. Clone one to see the package in a real project.

Frontend Repository
⚛️ React eramitgupta/demo-Inertia-forms-react
💚 Vue eramitgupta/demo-Inertia-forms-vue
🧡 Svelte eramitgupta/demo-Inertia-forms-savlte

Support

Sponsorship

Laravel Inertia Forms is free and open source. If it saves you time, please consider sponsoring its development:

💖 Sponsor Amit Gupta on GitHub

Sponsors keep the package maintained, documented, and growing.

Related Packages

nytodev/inertia-bundle

Symfony Bundle implementing the Inertia.js v3 server-side protocol

3,646 24
laravilt/forms

Complete form builder system with 30+ field types, validation, and Blade/Inertia...

961 0
leafs/inertia

Leaf PHP adapter for inertia JS

1,388 1
titasgailius/laravel-moonlight

An elegant Laravel scaffolding for your next single-page application.

6,574 142