phplaravel-6request-validation

Class App\Http\Requests\MyCustomRequest does not exist - Laravel 6


What should happen There should be no problem updating my modal or atleast accessing this method.

Problem: I have no idea why I get class not found error every time I submit my form.

My Controller file App\Http\Controllers\ProductController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\CommonController;
use App\Http\Requests\StoreProductRequest;
use App\Http\Requests\UpdateProductRequest;

use App\Product;

class ProductController extends CommonController
{
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \App\Product $product
     * @return \Illuminate\Http\Response
     */
    public function update(UpdateProductRequest $request, Product $product)
    {
        $model = Product::findOrFail($request->id);
        // setup model properties
        try{
            // save model
        }
        catch(\Exception $ex){
            // exception handling
        }
    }
}

My Request File Class App\Http\Requests\UpdateProductRequest.php

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use App\HelperClasses\ConstantHelper;

class UpdateProductRequest extends FormRequest
{
    public $file;

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            // my rules
        ];
    }

    /**
     * Custom message for validation
     *
     * @return array
     */
    public function messages()
    {
        return [
            // my validation messages
        ];
    }
}

Solution

  • All I had to do was composer dump-autoload to update my dependencies.

    Problem: I did not create my file using some artisan command. Instead, I had copied a file, renamed and edited it contents. This class was not referenced in memory of laravel causing the said issue to appear.

    P.S: At that moment, I knew almost nothing so the issues like that had to happen.