私は厳密な慣行に従い5.2文書を守っています。セッションFlashメッセージがコーディングされていてもどこにも表示されない
1)これは、コントローラの$ property-> save()の直後にあるコードスニペットです。エラーがある場合、それが戻っ作成フォームページに戻りますが、代わりにフィールド内の既存のデータを結合する機能
Session::flash('success', 'property table filled');
Session::flash('errors', 'These are the errors');
など
第二の問題は、Validateメソッドということ、それはアウトすべてをワイプされます私は最初からフォームを開始する必要があります。また、それは文書によると、すべてのエラーメッセージ
public function store(Request $request){
$this->validate($request, array(
'country' => 'bail|required|max:100',
'region' => 'bail|required|max:100',
etc
は表示されません、これだけでは、合格に失敗した場合には、ポストを作成するフォームを示し(1以上のCreateメソッドに戻す必要があります)、一連のエラーを発行します。私は、リソースコントローラを使用しておりますので 、ルートのすべてが1行に含まれており、また、コントローラともののすべては、Webミドルウェア内にある:
Route::group(['middleware' =>'web'], function(){
Route::auth();
Route::get('/', function() {
return view('welcome');
});
Route::get('/home', '[email protected]');
Route::resource('property', 'PropertyController');
});
これは私が持っている完璧なスニペットですそれがセッションを持っているすべてのページのメッセージ(成功または失敗)が表示されるように、レイアウトに含まれているパーシャル:代わりに、テーブルのデータベース内のデータの格納が成功した場合
@if(Session::has('success'))
<div class="alert alert-success" role="success">
<strong>Success: </strong> {{Session::get('success')}}
</div>
@endif
<div class="row">
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
、それは成功したフラッシュセッションメッセージをエコーアウトしません。
質問:
は何も表示されないと、なぜそれは私にすべてのフィールドを空にしない理由提出されたデータにエラーがありました。フィールドを空にする効果は、ページをリフレッシュするとき(フィールドが塗りつぶされたままである)ではなく、ブラウザのURLボックスをクリックして押したときと同じです。