2016-04-10 17 views
1

Kullanıcı günlüğü sayfası oluşturmak için laravel 5 kullanıyorum ve e-posta, parola ve first_name alanlarını doğrulamak için validate() işlevini kullandım.Laravel doğrulama, boş hata dizisini döndürür

Kullanıcı Kontrol

class UserController extends Controller{ 

    public function getDashBoard(){ 
     return view('dashboard'); 
    } 
    public function postSignUp(Request $request){ 

     $this->validate($request,[ 
      'email'=>'required|email|unique:users', 
      'first_name'=>'required|max:120', 
      'password'=>'required:min:4' 
     ]); 

     $user=new User(); 
     $user->email=$request['email'];; 
     $user->first_name=$request['first_name']; 
     $user->password=bcrypt($request['password']);; 
     $user->save(); 
     Auth::login($user); 
     return redirect()->route('dashboard'); 
    } 
} 

doğru Bu fonksiyon çalışması ve veri geçersiz olduğunda önceki sayfaya döner. Welcome.blade.php dosyasında hata mesajlarını göstermek için aşağıdaki kodu kullandım. Yukarıdaki hata mesajı (sayım ($ hataları) i kontrol ederken, her zaman 0'a eşittir) gösterilmez bt doğrulama hatası durumunda

@if(count($errors)>0) 
     <p>Error occurred</p>    
    @endif 

, geri karşılama sayfaya geri döner. Burada sorun nedir?

routes.php

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

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

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

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

    Route::get('/dashboard',[ 
     'uses'=>'[email protected]','as'=>'dashboard' 
    ]); 
}); 
+0

yardımcı olursa haber verin size 'denediniz @if ($ hataları-> sahiptir()) saymak yerine? – henriale

+0

da çalışmıyor – chamathabeysinghe

+0

'$ errors' türünü nedir? yine dizi ayarlamak için boş – henriale

cevap

0

bu deneyin:

$validator = Validator::make($request->all(), [ 
     'email'=>'required|email|unique:users', 
     'first_name'=>'required|max:120', 
     'password'=>'required:min:4' 
    ]); 

    if ($validator->fails()) { 
     return redirect('/signin') 
        ->withErrors($validator) 
        ->withInput(); 
    } 

    $user=new User(); 
    $user->email=$request['email'];; 
    $user->first_name=$request['first_name']; 
    $user->password=bcrypt($request['password']);; 
    $user->save(); 
    Auth::login($user); 
    return redirect()->route('dashboard'); 

size

+0

'örneğini olmalıdır: dönüş yönlendirme ('/') -> withErrors ($ doğrulayıcı) -> withInput(); Yukarıdaki kod yerine . – chamathabeysinghe

+0

deneyin olduğunu hata NOP ViewErrorBag' – BKF