Laravel 表單輸入資料

Wsmallnews發表於2019-08-10

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 為必傳,前端傳 [] 空陣列通不過

相關文章