2016-04-10 10 views
0

5.2 dokümanda olduğu gibi katı uygulamaları uyguluyorum, ancak doğrulama beni deli ediyor.Oturum Flash Mesajları kodlamaya rağmen herhangi bir yerde gösterme

1) Bu, $ property-> save() öğesinden hemen sonra denetleyicide sahip olduğum bir kod pasajıdır; fonksiyon

Session::flash('success', 'property table filled'); 
Session::flash('errors', 'These are the errors'); 

vb

İkinci konu hataları varsa Doğrulama yöntemi, geri oluşturma Form Sayfa geri döner, ancak bunun yerine Alanlarında mevcut verileri bağlanmasının yani, dışarı herşeyi mendil Böylece formun sıfırdan başlaması gerekiyor. Ayrıca, belgelere göre herhangi bir hata mesajı

public function store(Request $request){    

      $this->validate($request, array(

      'country' => 'bail|required|max:100', 
      'region' => 'bail|required|max:100', 
      etc 

göstermez, yalnız bu, geçemeyen durumunda, Yayınla oluşturma Form gösterir (biri yukarıda oluşturma yöntemine geri dönmek gerekir) ve bir dizi hata yayınlar. Bir kaynak Kontrolörü kullandığım için , Rotaları tümü online dahildir ve ayrıca, Kontrolörleri ve malzeme tüm Web Middleware içinde şunlardır:

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

    Route::get('/', function() { 
    return view('welcome'); 
}); 

Route::get('/home', '[email protected]'); 
Route::resource('property', 'PropertyController'); 


}); 

Bu benim sahip kusursuz pasajıdır bir oturuma sahip her sayfa için mesajlar görüntüler (başarı veya başarısız) böylece, Düzen dahildir partials:

@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 

yerine, tablo veritabanındaki verilerin saklanmasını oldu başarılı, bunu hala herhangi bir başarı flaş oturumu iletisini yankılamıyor.

Soru:

gönderilen verilerde herhangi bir hata var mıydı, neden hiçbir şey göstermiyor ve niye bana tüm alanları boş gelmez. Alanları boşaltma etkisi, Sayfayı yenilediğinizde (doldurulmuş alanlar dolu kalır) değil, tarayıcının URL kutusuna tıklayıp tıklattığınızda gerçekleşenle aynı şeydir.

cevap

0

Bu, cevabı aldığınız durumlardan biridir, ancak neden işe yaradığını tam olarak bilmiyorsunuz.

Session::flash('success', 'property table filled'); 
Session::flash('errors', 'Posting failed'); 

yılında:

Zaten yolları dosyasında Web Middleware içeride Kaynak Kontrol Yöntemi iken, bu ben yerleştirmek yoktu çıkıyor (ya da daha doğrusu bu yeterli değildi) Mülkiyet denetleyicisi (ve sonra Yolları Dosya Web Middleware içinde bu denetleyici), ama aslında orada inci Rotalar kendi sağdaki o çizgiler Bu kadar çok ben bunları kaldırırsanız böyledir

Session::flash('success', 'property table filled'); 
Session::flash('errors', 'Posting failed'); 

Dosya Denetleyiciden, bu hala çalışıyor, ancak kaldırırsam Rotalar Dosyasından, değil.