2016-05-17 50 views
1

顯示我知道這是重複的question.There對於這個問題,讓許多解決方案,但遺憾的是沒有什麼工作對我,我checked-laravel 5.2驗證錯誤回報不是在刀片

Laravel 5.2 form validation not showing errors?

Laravel 5.2 -> Validation Errors not appearing

ErrorBag is always empty in Laravel 5.2 更多...

我使用lavavel 5.2.29和事情都做得來解決這個錯誤,這些都已經d在其中。我的路線,內核已經看起來像其他解決方案。 在kernel.php

protected $middleware = [ 
     \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
     \Illuminate\Session\Middleware\StartSession::class, 
     \Illuminate\View\Middleware\ShareErrorsFromSession::class 
    ]; 

    /** 
    * The application's route middleware groups. 
    * 
    * @var array 
    */ 
    protected $middlewareGroups = [ 
     'web' => [ 
      \App\Http\Middleware\EncryptCookies::class, 
      \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
      \Illuminate\Session\Middleware\StartSession::class, 
      \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
      \App\Http\Middleware\VerifyCsrfToken::class, 
     ], 

     'api' => [ 
      'throttle:60,1', 
     ], 
    ]; 

IN routes.php文件

Route::group(['middleware' => ['web']], function() { 
    Route::get('/','[email protected]'); 
    Route::get('user/','[email protected]'); 
    Route::match(["get","post"],"user/register",'[email protected]'); 
    Route::match(["get","post"],"user/login",'[email protected]'); 
}); 

在用戶控制器 -

$this->validate($this->Request,User::$add_user_rules); 
$user_data = Input::all(); 
$user_data['username'] = explode('@',$user_data["email"])[0]; 
if(User::create($user_data)){ 
    $this->Request->session()->flash('success', 'Your account has been successfully created. Now please check your email to activate your account.'); 
    }else{ 
    $this->Request->session()->flash('error', 'Oops.. Something went wrong. Please try again !'); 
    } 
return redirect("user/register"); 

和規則在用戶模型 -

public static $add_user_rules = [ 
     'first_name' => 'required|alpha_dash', 
     'last_name' => 'alpha_dash', 
     'email' => 'required|email|unique:users', 
     'password' => 'required', 
     "cn_password" => "required|same:password", 
    ]; 

和最後,這是我usin g以顯示刀片上的錯誤 -

@if (count($errors) > 0) 
<div class="alert-message error"> 
    <div><span>Error !</span><br> 
     @foreach ($errors->all() as $error) 
     <p>{{ $error }}</p> 
     @endforeach 
    </div> 

</div> 
@endif 

此代碼缺少什麼。 未顯示任何錯誤消息。 還有一件事,如果我把中間件以外的路線web一切都運行完美。

+0

那麼,有什麼問題呢?簡單地刪除網絡中間件沒有? – Abhishek

回答

0

現在網絡middleware組默認情況下,Laravel最新版本5.2 **。如果您已明確指定該middleware組您app\Http\routes.php文件中,你應該將其刪除,並應解決您的問題。