1.創建驗證文件。
```
php artisan module:make-request LoginRequest AuthAdmin
```
2.編寫驗證文件。
```
<?php
namespace Modules\AuthAdmin\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class LoginRequest extends FormRequest
{
/**
* php artisan module:make-request LoginRequest AuthAdmin
*/
/**
* 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 [
'username' => 'required|regex:/^[a-zA-Z0-9]{4,14}$/',
'password' => 'required|regex:/^[a-zA-Z0-9]{4,14}$/'
];
}
public function messages(){
return [
'username.required' => '請輸入用戶名!',
'username.regex' => '用戶名必須4到14位的數字或字母!',
'password.required' => '請輸入密碼!',
'password.regex' => '密碼必須4到14位的數字或字母!',
];
}
}
```
3.引用驗證文件。
```
<?php
namespace Modules\AuthAdmin\Http\Controllers\v1;
use Illuminate\Http\Request;
use Modules\AuthAdmin\Http\Requests\LoginRequest;
use Modules\AuthAdmin\Models\AuthAdmin as AuthAdminModel;
class LoginController extends CommonController
{
/**
* @name 用戶登錄
* @method POST
* @param username 賬號
* @param password 密碼
*/
public function login(LoginRequest $request)
{
return $request->all();
return (new AuthAdminModel())->login($request->all());
}
}
```
4。修改app\Exceptions\Handler.php。
```
<?php
namespace App\Exceptions;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Validation\ValidationException;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
* Report or log an exception.
*
* @param \Exception $exception
* @return void
*
* @throws \Exception
*/
public function report(Exception $exception)
{
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $exception
* @return \Symfony\Component\HttpFoundation\Response
*
* @throws \Exception
*/
public function render($request, Exception $exception)
{
if($request->is("api/*")){
//如果錯誤是 ValidationException的一個實例,說明是一個驗證的錯誤
if($exception instanceof ValidationException){
$result = [
"code"=>4222,
"msg"=>array_values($exception->errors())[0][0],
];
return response()->json($result,400);
}
}
return parent::render($request, $exception);
}
}
```
視頻鏈接
```[youku]
XNDU0MDUxNDgyMA
```
- 空白目錄
- 前言
- 狀態碼
- 后臺頁面
- nodejs安裝
- vue-cli腳手架安裝
- 使用vue ui創建項目
- 將本地代碼托管到碼云
- 繪制后臺登錄頁面
- 安裝less依賴
- uniapp熱更新
- e2e自動化測試
- mock
- ant design pro 導出excel
- 后臺接口
- laravel項目安裝
- 創建數據庫
- 創建數據填充
- 中間件
- 表單驗證
- jwt-auth安裝
- 處理跨域請求
- 安裝swagger
- 接口
- 站點管理
- 后臺登錄
- 站點管理-首頁
- 站點管理-刷新token
- 站點管理-退出登錄
- 站點管理-獲取左側欄
- 首頁-修改密碼
- 單圖上傳
- 清除緩存
- 站點管理-權限管理
- 權限管理-權限組列表
- 權限組列表
- 權限組添加
- 權限組編輯頁面
- 權限組編輯提交
- 權限組調整狀態
- 權限組分配權限
- 權限組分配權限提交
- 權限管理-權限列表
- 權限列表
- 權限菜單狀態
- 權限是否驗證
- 權限排序
- 權限添加
- 權限編輯頁面
- 權限編輯提交
- 權限添加子級
- 權限刪除
- 權限管理-管理員列表
- 管理員列表
- 管理員列表-添加
- 管理員編輯頁面
- 管理員編輯提交
- 管理員獲取權限組
- 管理員調整狀態
- 管理員初始化密碼
- 站點管理-系統配置
- 系統配置-系統配置
- 系統配置
- 系統配置-提交
- 商城管理
- 商品管理
- 商品分類
- -商品分類
- 商品分類-狀態
- 商品分類-排序
- 商品分類-添加
- 商品分類-添加子級
- 商品分類-編輯頁面
- 商品分類-編輯提交
- 商品屬性
- -商品屬性
- 商品屬性-商品分類
- 商品屬性-添加
- 商品屬性-編輯頁面
- 商品屬性-編輯提交
- 商品屬性-狀態
- 商品屬性-排序
- 商品屬性-刪除
- 商品屬性值
- -商品屬性值
- 商品屬性值-商品屬性
- 商品屬性值-添加
- 商品屬性值-編輯頁面
- 商品屬性值-編輯提交
- 商品屬性值-狀態
- 商品屬性值-排序
- 商品屬性值-刪除
- 商品列表
- --商品分類
- --獲取屬性
- 商品-刪除
- 商品-排序
- 商品-狀態
- 商品-是否精品推薦
- 商品-是否熱賣單品
- -商品列表
- 商品-添加
- 商品編輯頁面
- 商品-編輯提交
- 會員管理
- 用戶列表
- -用戶列表
- 圖片管理
- 輪播圖列表
- -輪播圖列表
- 輪播圖添加
- 輪播圖編輯頁面
- 輪播圖編輯提交
- 輪播圖狀態
- 輪播圖排序
- 輪播圖刪除
- wap接口
- 我的
- 小程序登錄
- 獲取用戶信息
- 刷新token
- 獲取設置信息
- 綁定手機號
- 退出登錄
- 地址管理
- 獲取省市區
- 添加地址
- 我的地址列表
- 獲取編輯地址數據
- 編輯地址
- 刪除收貨地址
- 商品足跡
- 收藏商品
- 首頁
- 輪播圖
- --商品列表
- 商品收藏
- 分類
- 商品一級分類
- 商品二級分類
- 購物車
- 加入購物車
- 購物車數量
- 購物車列表
- 單選
- 全選全不選
- 購物車減或加
- 購物車刪除
- Vue3總結
- 生命周期