2016-07-27 177 views
0

我想獲取驗證錯誤,以顯示在我的應用程序中,並已遇到牆壁。Laravel驗證錯誤顯示

我有這樣的嘗試了一些不同的方法,這就是我把它設置當前...

我的路線是這樣的:

<?php 

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

    Route::get('/', [ 
     'as' => 'home', 
     'uses' => '[email protected]' 
    ]); 

    Route::post('/mailing', [ 
     'as' => 'mailing.create', 
     'uses' => '[email protected]' 
    ]); 

}); 

我的郵件控制器看起來是這樣的:

class MailingController extends Controller 
{ 
    public function create(Request $request) 
    { 
     $this->validate($request, [ 
      'email' => 'required', 
     ]); 
     dd($request->email); 
    } 
} 

我的形式看起來像這樣...

  <form action="{{ route('mailing.create') }}" method="post"> 

       <label for="email"> 
        Email 
        <input type="text" name="email" id="email"> 
        @if ($errors->has('email')) 
         {{ $errors->first('email') }} 
        @endif 
       </label> 

       <input type="submit"> 
       {{ csrf_field() }} 
      </form> 

當我提交一個空的表單時,它會轉到MailingController中的create方法,但是沒有任何反應,沒有顯示錯誤。只是形式。

真的這應該工作,可能問題可能是上面的例子對Laravel 5.1是好的,但不能在最新的5.2版本中工作?

非常感謝您的善意考慮。

回答

1

您可以在official documentation的Web中間件組默認應用看:

請記住,網絡中間件組會自動由RouteServiceProvider應用於 默認的routes.php文件的文件。

如果執行

php artisan route:list 

你可以看到,中間件應用兩次到網絡路由器。

你要刪除的組

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

} 

這在一個小版本5.2已經改變,所以很可能,你有一個「作曲家更新」後,這個錯誤。

更多信息herehere

0

嗯,看來我得回答我的問題......在laravel 5.2路由自動成爲中間件路線,以便從改變路線內...

<?php 

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

    Route::get('/', [ 
     'as' => 'home', 
     'uses' => '[email protected]' 
    ]); 

    Route::post('/mailing', [ 
     'as' => 'mailing.create', 
     'uses' => '[email protected]' 
    ]); 

}); 

<?php 

    Route::get('/', [ 
     'as' => 'home', 
     'uses' => '[email protected]' 
    ]); 

    Route::post('/mailing', [ 
     'as' => 'mailing.create', 
     'uses' => '[email protected]' 
    ]); 

修復了一切。