2017-01-21 63 views
1

我實現一個登記表,並與Laravel 5.3調用未定義的方法照亮 HTTP JsonResponse ::的validate()

它工作正常的網絡使用發送郵差POST請求,但我看到郵遞員以下異常

FatalErrorException in RegistersUsers.php line 31: 
Call to undefined method Illuminate\Http\JsonResponse::validate() 

在錯誤的Auth\RegisterController

protected function validator(array $data) 
    { 
     if(Request::wantsJson()) { 
      $rules = array(
      'first_name' => 'required', 
      'last_name'  => 'required', 
      'email'   => 'required', 
      'password'  => 'required', 
      'phone_number' => 'required', 

      ); 
      $validator = Validator::make($data, $rules); 
      if($validator->fails()) { 
       return response()->json($validator->messages()); 

      } 
     } else { 
      return Validator::make($data, [ 
       'name' => 'required|max:255', 
       'email' => 'required|email|max:255|unique:users', 
       'password' => 'required|min:6|confirmed', 
      ]); 

     } 

    } 

完整的堆棧跟蹤我的驗證方法是

FatalErrorException in RegistersUsers.php line 31: 
Call to undefined method Illuminate\Http\JsonResponse::validate() 
in RegistersUsers.php line 31 
at FatalErrorException->__construct() in HandleExceptions.php line 133 
at HandleExceptions->fatalExceptionFromError() in HandleExceptions.php line 118 
at HandleExceptions->handleShutdown() in HandleExceptions.php line 0 
at RegisterController->register() in Controller.php line 55 
at call_user_func_array:{/var/www/iproximity-web/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:55}() in Controller.php line 55 
at Controller->callAction() in ControllerDispatcher.php line 44 
at ControllerDispatcher->dispatch() in Route.php line 190 
at Route->runController() in Route.php line 144 
at Route->run() in Router.php line 653 
at Router->Illuminate\Routing\{closure}() in Pipeline.php line 53 
at Pipeline->Illuminate\Routing\{closure}() in RedirectIfAuthenticated.php line 24 
at RedirectIfAuthenticated->handle() in Pipeline.php line 137 
at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 33 
at Pipeline->Illuminate\Routing\{closure}() in SubstituteBindings.php line 41 
at SubstituteBindings->handle() in Pipeline.php line 137 
at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 33 
at Pipeline->Illuminate\Routing\{closure}() in ThrottleRequests.php line 49 
at ThrottleRequests->handle() in Pipeline.php line 137 
at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 33 
at Pipeline->Illuminate\Routing\{closure}() in Pipeline.php line 104 
at Pipeline->then() in Router.php line 655 
at Router->runRouteWithinStack() in Router.php line 629 
at Router->dispatchToRoute() in Router.php line 607 
at Router->dispatch() in Kernel.php line 268 
at Kernel->Illuminate\Foundation\Http\{closure}() in Pipeline.php line 53 
at Pipeline->Illuminate\Routing\{closure}() in CheckForMaintenanceMode.php line 46 
at CheckForMaintenanceMode->handle() in Pipeline.php line 137 
at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 33 
at Pipeline->Illuminate\Routing\{closure}() in Pipeline.php line 104 
at Pipeline->then() in Kernel.php line 150 
at Kernel->sendRequestThroughRouter() in Kernel.php line 117 
at Kernel->handle() in index.php line 54 
at {main}() in index.php line 0 

回答

0

驗證器方法應該返回一個Validator實例。在Request :: wantsJson()的情況下,你返回一個JsonResponse(失敗),或者根本沒有(成功)。您應該可以返回$ validator。

相關問題