jeudi 25 janvier 2018

Laravel - How does a FormRequest differ from a Request?

Certain fields do not send when using a FormRequest. In a project I had to use some custom validation on a potentially unlimited array of inputs:

<input type="file" name="image[1]" />
<input type="file" name="image[2]" />

etc...

To validate these I created a FormRequest called StoreProject:

public function rules()
{

    $rules = [

        'title' => 'required',

    ];

    foreach( $this->request->get( 'image' ) as $key => $val )
    {

        $rules['steps_img.'.$key] = 'image';

    }

    return $rules;

}

In my controller function, I noticed a difference in what was sent via the request.

If my controller looks like like this:

public function store(StoreProject $request)
{

    dd( $request->all() );

}

None of my array inputs are included in the request. Whereas if I use the standard Request like so.

public function store(Request $request)
{

    dd( $request->all() );

}

My array inputs appear fine.

Does anyone know why this might be? Or how I can still access these images whilst still using my custom validation?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire