[Validate] method does not exist error in laravel 5.2

I just started learning laravel. I am using laravel 5.2.29 I get an error when running the code:

Oops, it looks like something went wrong. BadMethodCallException in line Controller.php 107: The [validate] method does not exist.

The error line is displayed here:

in Controller.php line 107 2.at Controller->__call('validate', array(object(Request), array('action' => 'required', 'name' => 'required'))) in NiceActionController.php line 31 3.at NiceActionController->validate(object(Request), array('action' => 'required', 'name' => 'required')) in NiceActionController.php line 31 4.at NiceActionController->postNiceAction(object(Request)) 5.at call_user_func_array(array(object(NiceActionController), 'postNiceAction'), array(object(Request))) in Controller.php line 80 6.at Controller->callAction('postNiceAction', array(object(Request))) in ControllerDispatcher.php line 146 7.at ControllerDispatcher->call(object(NiceActionController), object(Route), 'postNiceAction') in ControllerDispatcher.php line 94 8.at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request)) 9.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 10.at Pipeline->Illuminate\Routing\{closure}(object(Request)) 11.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 12.at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 96 13.at ControllerDispatcher->callWithinStack(object(NiceActionController), object(Route), object(Request), 'postNiceAction') in ControllerDispatcher.php line 54 14.at ControllerDispatcher->dispatch(object(Route), object(Request), 'App\Http\Controllers\NiceActionController', 'postNiceAction') in Route.php line 174 15.at Route->runController(object(Request)) in Route.php line 140 16.at Route->run(object(Request)) in Router.php line 724 17.at Router->Illuminate\Routing\{closure}(object(Request)) 18.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 19.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 64 20.at VerifyCsrfToken->handle(object(Request), object(Closure)) 21.at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 22.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 23.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 24.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49 25.at ShareErrorsFromSession->handle(object(Request), object(Closure)) 26.at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 27.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 28.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 29.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 62 30.at StartSession->handle(object(Request), object(Closure)) 31.at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 32.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 33.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 34.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 35.at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) 36.at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 37.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 38.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 39.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59 40.at EncryptCookies->handle(object(Request), object(Closure)) 41.at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 42.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 43.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 44.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 64 45.at VerifyCsrfToken->handle(object(Request), object(Closure)) 46.at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 47.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 48.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 49.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49 50.at ShareErrorsFromSession->handle(object(Request), object(Closure)) 51.at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 52.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 53.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 54.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 62 55.at StartSession->handle(object(Request), object(Closure)) 56.at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 57.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 58.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 59.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 60.at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) 61.at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 62.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 63.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 64.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59 65.at EncryptCookies->handle(object(Request), object(Closure)) 66.at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 67.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 68.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 69.at Pipeline->Illuminate\Routing\{closure}(object(Request)) 70.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 71.at Pipeline->then(object(Closure)) in Router.php line 726 72.at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699 73.at Router->dispatchToRoute(object(Request)) in Router.php line 675 74.at Router->dispatch(object(Request)) in Kernel.php line 246 75.at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) 76.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 77.at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44 78.at CheckForMaintenanceMode->handle(object(Request), object(Closure)) 79.at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124 80.at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 81.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 82.at Pipeline->Illuminate\Routing\{closure}(object(Request)) 83.at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 84.at Pipeline->then(object(Closure)) in Kernel.php line 132 85.at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99 86.at Kernel->handle(object(Request)) in index.php line 54 

My route code:

 <?php Route::group(['middleware' => ['web']], function(){ Route::get('/', function () { return view('home'); })->name('home'); Route::group(['prefix'=>'do'], function(){ Route::get('/{action}/{name?}', [ 'uses' => ' NiceActionController@getNiceAction ', 'as' => 'niceaction' //router name same as ->name('routername') ]); Route::post('/', [ 'uses' => ' NiceActionController@postNiceAction ', 'as' => 'benice' ]); }); }); 

My controller code is below:

 <?php namespace App\Http\Controllers; use Illuminate\Routing\Controller; use \Illuminate\Http\Request; class NiceActionController extends Controller { public function getNiceAction($action, $name=null) { return view('actions.'.$action, ['name' => $name]); } public function postNiceAction(Request $request) { $this->validate($request, [ 'action' => 'required', 'name' =>'required' ]); return view('actions.nice', ['action'=>$request['action'],'name'=>$this->transformName($request['name'])]); } private function transformName($name) { $prefix='KING'; return $prefix.strtoupper($name); } } 

My base controller "controller" has the following code:

 <?php namespace App\Http\Controllers; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Routing\Controller as BaseController; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Auth\Access\AuthorizesResources; class Controller extends BaseController { use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests; } 

Am I missing something ????

+6
source share
2 answers

You need to extend the class App\Http\Controllers\Controller , which uses the necessary attribute ValidatesRequests , which implements the necessary validate method.

So, in your NiceActionController class NiceActionController just delete this line :

 use Illuminate\Routing\Controller; 

So this line:

 class NiceActionController extends Controller 

Extends the native Controller class from the same namespace (more precisely, App\Http\Controllers\Controller ), which includes the necessary features and which extends this Illuminate\Routing\Controller class (alias as BaseController ).

+5
source

To display errors just delete the line below and close )}

 Route::group(['middleware' => ['web']], function(){ 

Starting with 5.2, route.php is already called by default in the context of ['middleware' => 'web'] using RouteServiceProvider. // But in route.php, by default, Route :: group is still grouped to generate auth routes, so if you delete this group Route :: // the declaration from route.php the application then correctly displays errors.

+2
source

All Articles