您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何在Laravel框架中使用FormRequest處理錯誤,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。
laravel
框架中默認的validate
驗證,在處理錯誤的時候,默認是返回上一頁,當為ajax
的時候才會返回Json
。如果我們要一直返回Json
的話,那么需要重寫錯誤處理
如下:在Requests
目錄只用 新建BaseRequest
類
代碼如下
<?php /** * @文件名稱: BaseRequest.php. * @author: daisc * @email: jiumengfadian@live.com * @Date: 2019/1/8 */ namespace App\Http\Requests\Front; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException; class BaseRequest extends FormRequest { public function failedValidation($validator) { $error= $validator->errors()->all(); // $error = $validator; throw new HttpResponseException(response()->json(['code'=>1,'message'=>$error[0]])); } }
重寫了failedValidation
方法,將拋出錯誤處理為了json
格式的。
然后在自定義的處理驗證類中,繼承該類就行了,
如:RegisterForm
中
<?php namespace App\Http\Requests\Front; class RegisterForm extends BaseRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'phone'=>'required|regex:"^1\d{10}"', 'email' => 'required|email', 'password'=>'required|confirmed' ]; } public function messages() { return [ 'phone.required'=>'手機號不能為空', 'phone.regex'=>'請輸入正確的手機號', ]; } }
當我們在控制器中調用RegisterForm
的時候,就回返回Json
格式的錯誤信息。
不分是否是AJAX
關于如何在Laravel框架中使用FormRequest處理錯誤就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。