Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Wire Forms Laravel Package

nyoncode/wire-forms

A Laravel Livewire package for building and managing forms with reusable components, validation, and a clean, expressive API for handling fields, submission, and errors in your Livewire applications.

View on GitHub
Deep Wiki
Context7

nyoncode/wire-forms is a Laravel package that streamlines building dynamic forms with Livewire, letting you define fields, validation rules, and reactive behavior in one place. It reduces boilerplate by wiring form state directly to your components, so submissions, error handling, and conditional fields stay in sync automatically.

  • Declarative field and validation definitions
  • Reactive, Livewire-native state binding
  • Built-in error display and submission handling
  • Support for conditional and dynamic fields
  • Simple integration with existing Laravel validation
Frequently asked questions about Wire Forms
How do I install nyoncode/wire-forms in a Laravel app?
Install it with Composer using composer require nyoncode/wire-forms. Because the package is pre-1.0, pin the exact version you review, for example 0.1.4, rather than relying on a caret constraint that permits breaking patch releases. You will also need Livewire installed and its assets set up in the usual way, since the package is a thin layer over Livewire components. Check the repository README for any published config or asset tags before wiring your first form.
Which Laravel and PHP versions does wire-forms support?
The package's own composer.json is the authoritative source for its Laravel, PHP, and Livewire constraints, so read it before committing to adoption. The available documentation does not state a support matrix, and a zero-dependency package like this typically tracks whatever the maintainer happened to be running. Test installation against your exact Laravel and Livewire versions in a branch rather than assuming compatibility.
Is nyoncode/wire-forms compatible with Livewire 3 and Livewire 4?
Compatibility is not documented, and form packages are especially exposed to Livewire major-version changes to class-level behaviour. Pin livewire/livewire alongside wire-forms and upgrade both through a single dependency pull request so breakage surfaces in one place. Add a smoke test that renders a form, binds a field, and submits it, then run it on every Livewire bump. If the maintainer is inactive, plan to absorb any needed fixes through a fork.
Does wire-forms use Laravel's native validation under the hood?
The overview states it integrates with existing Laravel validation, but you should confirm it delegates to Illuminate\Validation\Factory rather than evaluating rules itself. Look in the source for Validator::make, handling of the Rule contract, and whether FormRequest and custom Rule objects pass through unchanged. If you find hand-rolled rule evaluation, treat that as a stop signal, because every divergence from Laravel's validator becomes a defect with no upstream security process to report into. Assign this check to a named engineer before adoption.
Can I build conditional and dynamic fields with this package?
Yes, conditional and dynamic fields are listed as first-class features, alongside declarative field definitions and reactive Livewire state binding. In practice that means field visibility and validation rules can react to other field values without you writing separate JavaScript. Verify the specifics against the source for your use case, especially how rules are re-evaluated when a field becomes hidden. Dynamic fields are the area most likely to hide edge-case behaviour in a small package.
Should I use wire-forms instead of Filament or Nova for admin screens?
No. If Filament or Nova already owns your admin surface, adding wire-forms on top creates two competing form abstractions. Its natural fit is internal tools, back-office CRUD, settings pages, and MVPs where you want Livewire-native forms without an admin panel. Write that scoping decision down as an explicit non-goal so it is not reopened every sprint.
How does wire-forms handle validation errors and error display?
Built-in error display and submission handling are part of the package, but the error bag it writes to may not match what your layout renders. If the package targets a named bag while your Blade layout reads $errors from the default bag, inline messages will silently fail to appear. Test an actual failing submission early in your spike rather than in QA. This is cheap to catch up front and expensive to discover later.
How should I test a form built with wire-forms?
Use Livewire's own testing helpers to set field values, call the submit action, and assert both the validation errors and the resulting state. Add a test that passes unknown attributes such as aria-* labels, wire:model modifiers, and data-* hooks to a field component and asserts they are forwarded rather than dropped. Silent attribute dropping is the accessibility failure mode for packages in this space. Also cover reset semantics so a second submission does not carry stale state.
Is nyoncode/wire-forms safe to use in production?
Treat it as a calculated risk. The package is MIT-licensed and small enough to read and fork in an afternoon, but it has no public evidence of use, no dependents, and no issue history, so assume the maintainer may go quiet shortly after you adopt it. Pin the exact version, keep a fork you can patch, and avoid adopting it where accessibility, internationalisation, or form behaviour is contractual. For internal tools and CRUD screens the velocity gain can justify that trade.
What are the alternatives to wire-forms for Livewire forms?
Livewire ships its own form object for state and validation, and Filament provides a mature form builder if you are already in its ecosystem. Blade UI kits and hand-written Blade partials cover simpler layouts. wire-forms is worth considering when you want declarative field definitions, layout, repeaters, and error handling in one Livewire-native place without adopting an admin panel. Compare it against Livewire's built-in form object first, since that carries no extra maintenance risk.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource