laravel5 本身就帶有登入驗證,比如開啟 localhost/home 會自動跳轉到 localhost/auth/login 如果我想在用戶端中POST 一個請求到 localhost/auth/login 應該如何發呢,POST的body裡要不要是不是要寫上很多東西,包括email,password,_token呢 另外,登入成功或者失敗了能否返回一個自訂字串提示成功或失敗了,現在內建的都是redirect的。 新手求指點
回複內容:
laravel5 本身就帶有登入驗證,比如開啟 localhost/home 會自動跳轉到 localhost/auth/login 如果我想在用戶端中POST 一個請求到 localhost/auth/login 應該如何發呢,POST的body裡要不要是不是要寫上很多東西,包括email,password,_token呢 另外,登入成功或者失敗了能否返回一個自訂字串提示成功或失敗了,現在內建的都是redirect的。 新手求指點
可以在HomeController重新定義postLogin方法
laravel5 預設的postLogin只是最基本的例子,如果能用上,那是最好了,基本上只能用作參考,正式開發中肯定有很多例外
預設的postLogin方法在
AuthenticatesAndRegistersUsers這個trait中實現
包括登陸,註冊,登出等
Laravel 對於表單的實現是 _token(csrf_token) + _method (post|put|patch|head|get|) + body
Laravel 所有 view 都可以直接存取一個$errors(執行個體) 可以通過 $error->has() 判斷有沒有錯誤 $errors->all() 提取所有錯誤內容 錯誤的實現機制是 flash session 所以無論是 return redirect 還是 return view 都可以訪問到 $erorrs
建議研讀 https://laracasts.com/series/laravel-5-fundamentals 你就通透了
@if (count($errors) > 0)
@foreach ($errors->all() as $error)
- {{ $error }}
@endforeach
@endif
你可以把這個複製到模板裡面觀察一下