我正在使用laravel 5構建用戶日誌記錄頁面,並使用validate()函數驗證電子郵件,密碼和first_name字段。Laravel驗證返回空錯誤數組
用戶控制器
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');
}
}
此功能正常工作,當數據是無效的,它返回到前一頁。我使用下面的代碼在welcome.blade.php文件中顯示錯誤消息。
@if(count($errors)>0)
<p>Error occurred</p>
@endif
在驗證錯誤的情況下,BT是不顯示上面的錯誤消息(計數($錯誤)總是等於0,當我檢查),它返回到歡迎頁面。這裏有什麼問題?
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'
]);
});
你試過'@if($錯誤 - >有() )'而不是數它? – henriale
它也不起作用 – chamathabeysinghe
'$ errors'的類型是什麼?它應該是'ViewErrorBag'的一個實例。 – henriale