Search code examples
phplaravellaravel-5

How to validate PUT parameter in Laravel?


I use PUT routing:

Route::put('offers/{id}/accept', 'OfferController@accept');

And controller:

public function accept(Request $request, $id)
{
    $validator = Validator::make($request->all(), [
        "id" => 'required|integer'
    ]);
}

But validation rule does not work for $id parameter. How to validate that?


Solution

  • It's not particular to put, its particular to any route parameter. This is because route params not included in the all() collection.

    public function accept(Request $request, $id)
    {
        $validator = Validator::make(array_merge(
            [
              'id'=>$id
            ], 
            $request->all()
        ), [
            "id" => 'required|integer'
        ]);
    }