laravel 表單輸入資料
幾個常用表單驗證規則,親測有效
功力尚淺,場景太少,以後隨時更新,歡迎大佬補充
request 請求資料
請求資料設定預設值
踩的輸入資料預設值的坑,之前一直以為 name 為空或不傳就可以使用預設值,直到...
$request->input('name', 'default'));
注意事項:
- 只有在不傳 name 的時候,default 才會被使用,不論接收到的值是 "" 還是 null,只要傳了 name 都不會使用預設值
常用表單驗證規則 (隨時更新)
全域性注意事項
- 如果驗證規則異常,請先檢查接收到的資料型別是否對應,如有問題謝謝更正
驗證 id 必傳,並且為 int 型別,最小為 1
'id' => "required|integer|min:1"
適用場景:
- 外來鍵必填約束,比如新增文章選擇分類,驗證分類是否選擇
注意事項:
- 沒有 required,如果不傳 id 引數,攔不住
- 如果沒有 min,傳入 0 或負值,攔不住
價格必填,並且最小值為 0.01
'price' => 'required|numeric|min:0.01'
注意事項:
- 沒有 required,如果不傳 price 引數,攔不住
- 如果沒有 min,傳入 0 或負值,攔不住
郵箱唯一必填,更新排除自己
'email' => 'required|email|unique:admins,email,'.$id
手機號唯一必填,更新排除自己
'phone' => 'required|unique:admins,phone,'.$id.'|regex:/^1[3456789][0-9]{9}$/'
修改密碼限制長度,並且和確認密碼一致
'password' => 'required|between:6,16|confirmed'
注意事項:
- 確認欄位預設命名規則為 欄位_confirmation,本例為 password_confirmation
- 這裡的字串長度 6-16 指的是 6 個字母或漢字 - 16 個字母或漢字
陣列必填
'pics' => 'required|array'
適用場景:
- 多圖上傳,前端需要傳一個圖片陣列
注意事項:
- 加了 required 為必傳,前端傳 [] 空陣列通不過