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

Form Request Bundle Laravel Package

baiseiit/form-request-bundle

View on GitHub
Deep Wiki
Context7

Getting Started

Install the package via Composer:

composer require vendor/package-name

Publish the package's configuration (if applicable) and service provider:

php artisan vendor:publish --provider="Vendor\PackageName\PackageServiceProvider"

The core feature is now accessible via FormRequest validation. To retrieve validated data directly from a FormRequest instance, use the new getValidatedData() method:

use Vendor\PackageName\Http\Requests\CustomRequest;

public function store(CustomRequest $request) {
    $validatedData = $request->getValidatedData(); // New method
    // Use $validatedData directly (already validated)
}

Implementation Patterns

1. Replacing Manual Validation

Instead of manually validating and retrieving data:

$validated = $request->validate([
    'email' => 'required|email',
    'name' => 'required|string',
]);

Use the new method:

$validatedData = $request->getValidatedData(); // Returns validated array

2. Integration with FormRequest Classes

Extend FormRequest to customize validation logic:

use Vendor\PackageName\Http\Requests\CustomRequest;

class StoreUserRequest extends CustomRequest {
    public function rules() {
        return [
            'email' => 'required|email|unique:users',
            'password' => 'required|min:8',
        ];
    }
}

3. Combining with Existing Validation

For hybrid approaches (e.g., custom validation + package features):

public function withValidator($validator) {
    $validator->after(function ($validator) {
        // Custom validation logic
    });
}
$validatedData = $request->getValidatedData();

Gotchas and Tips

Pitfalls

  • Overriding Default Behavior: If the package modifies FormRequest internals, ensure your extended classes don’t conflict with its validation pipeline.
  • Caching Issues: If using validate() alongside getValidatedData(), the latter may return stale data. Call getValidatedData() after validation.

Debugging Tips

  • Check Validation Rules: Use dd($this->rules()) in your FormRequest to verify rules are loaded.
  • Inspect Validated Data: Temporarily log $request->getValidatedData() to debug missing fields.

Extension Points

  • Custom Validation Logic: Override getValidatedData() in your FormRequest subclass to add preprocessing:
    public function getValidatedData() {
        $data = parent::getValidatedData();
        return $this->transformData($data); // Custom logic
    }
    
  • Package Configuration: If the package supports it, configure default validation rules via config/package-name.php.

Performance Note

  • getValidatedData() is optimized for single-use cases. For batch operations, cache the result:
    $validated = $request->getValidatedData();
    // Reuse $validated instead of calling repeatedly
    
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