Weave Code
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

Livewire Combined Request Laravel Package

maskow/livewire-combined-request

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • DRY Validation Logic: Eliminates duplicate validation code between HTTP controllers and Livewire components, reducing technical debt and maintenance overhead.
  • Unified Authorization: Centralizes access control logic, ensuring consistent security policies across API and UI layers.
  • Livewire 3/4 Migration Path: Enables seamless adoption of Livewire 3/4 while maintaining compatibility with existing Laravel validation patterns.
  • API-First Development: Supports building APIs and UI components from a single validation layer, ideal for headless or hybrid applications.
  • Parameter Binding Flexibility: Simplifies complex route model binding and Livewire property injection, reducing boilerplate in controllers and components.
  • CamelCase/SnakeCase Bridging: Resolves naming convention conflicts between Livewire’s camelCase properties and Laravel’s snake_case validation rules.
  • Database Integration: Streamlines data preparation for Eloquent models by optionally returning snake_case validated data.
  • Roadmap for Monolithic to Microservices: Facilitates gradual decoupling of validation logic, making it easier to extract shared rules into microservices later.

When to Consider This Package

  • Avoid if:
    • Your project uses Livewire 2 or Laravel <10 (incompatible).
    • You have minimal overlap between HTTP and Livewire validation logic (overhead may not justify benefits).
    • Your team prefers explicit separation of API and UI validation (e.g., for stricter API contracts).
    • You’re using alternative validation libraries (e.g., Spatie’s Laravel Validation) that already solve this problem.
    • Your application is read-heavy with minimal form submissions (validation duplication isn’t a pain point).
  • Consider alternatives if:
    • You need advanced Livewire-specific features (e.g., real-time validation) that aren’t covered by this package.
    • Your validation rules are highly dynamic (e.g., generated at runtime) and benefit from runtime validation libraries like laravel-validation.
    • You’re using custom Livewire request handling (e.g., Livewire\WithValidation) that conflicts with this package’s approach.

How to Pitch It (Stakeholders)

For Executives: "This package cuts validation code duplication in half by unifying rules for APIs and Livewire forms. For every form we build—whether for mobile apps, web UIs, or internal tools—we’ll write validation once, reducing bugs and developer time. It’s a low-risk, high-reward tool that aligns with our API-first strategy and makes Livewire adoption smoother. Think of it as ‘copy-paste elimination’ for backend logic."

For Engineers: *"This solves the ‘validation duplication headache’ between HTTP controllers and Livewire components. With one CombinedFormRequest, you get:

  • Single source of truth for rules, authorization, and parameters.
  • Seamless Livewire integration with optional camelCase/snake_case conversion.
  • Zero config—just drop it in and start using existing FormRequest classes.
  • Future-proof for API-first projects or microservices. It’s like Laravel’s built-in FormRequest but with Livewire superpowers. No more rewriting rules() or authorize() for every component."*

For Developers: *"Tired of writing the same validation logic twice? This package lets you reuse your FormRequest classes for both API endpoints and Livewire components. Key perks:

  • Automatic parameter binding (works with route model binding or manual Livewire injection).
  • Unified authorization—your authorize() method works everywhere.
  • Smart error handling with Livewire-friendly notifications.
  • Optional camelCase ↔ snake_case conversion (no more naming conflicts). Just extend CombinedFormRequest, and you’re done. Less code, fewer bugs."*
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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky