为什么在Laravel 5.6中没有通过验证更新表值?

in laravel 5.6 app I have table name as vehicles, then I need update some of table values in VehicleController update function with validation as this,

 $this->validate($request, [
            'provincename'     => 'required|min:3',
            'districtname'    => 'required',
            'townname'    => 'required',
            'brandname'    => 'required',
            'modelname'    => 'required',
            'year'    => 'required',
            'condition'    => 'required',
            'milage'    => 'required',
            'data'    => 'required',
            'price'    => 'required',
            'telephone'    => 'required',
            'categoryname'    => 'required',
            'tramsmission'    => 'required',
            'fueltype'    => 'required',
            'enginecapacity'   => 'required'
         ]);

and my update controller is like this,

 $vehicle = Vehicle::find($id);

        $vehicle->provincename = $request->input('provincename');
        $vehicle->districtname = $request->input('districtname');
        $vehicle->townname = $request->input('townname');
        $vehicle->brandname = $request->input('brandname');
        $vehicle->modelname = $request->input('modelname');
        $vehicle->modelyear = $request->input('year');
        $vehicle->condition = $request->input('condition');
        $vehicle->milage = $request->input('milage');
        $vehicle->detail = $request->input('data');
        $vehicle->price = $request->input('price');
        $vehicle->telephone = $request->input('telephone');
        $vehicle->categoryname =  $request->input('categoryname');
        $vehicle->transmission = $request->input('transmission');
        $vehicle->fueltype = $request->input('fueltype');
        $vehicle->enginecapacity = $request->input('enginecapacity');
        $vehicle->user_id = Auth::user()->id;

        $vehicle->save();

My update is ok. it is working. but with controller validation it is not updating. without validation it is working. how can fix this? what is the problem with this?

try this kind of validation format:

$validatedData = $request->validate([
    'provincename'     => 'required|min:3',
    'districtname'    => 'required',
    'townname'    => 'required',
    'brandname'    => 'required',
    'modelname'    => 'required',
    'year'    => 'required',
    'condition'    => 'required',
    'milage'    => 'required',
    'data'    => 'required',
    'price'    => 'required',
    'telephone'    => 'required',
    'categoryname'    => 'required',
    'tramsmission'    => 'required',
    'fueltype'    => 'required',
    'enginecapacity'   => 'required'
]);

EDIT

don't forget to use the validator. Add use Validator; after the namespace.