搜尋

首頁  >  問答  >  主體

Laravel中的get參數驗證

請問laravel中get傳遞過來的參數如何進行驗證

訂單清單頁上方有很多篩選條件但是這些篩選條件都有一定規則,比如金額必須為數字, 用戶名不能大於5位,
透過get傳遞參數到後台進行條件篩選的​​話, url位址和未傳參時是一樣的這種如何驗證?

如果進行驗證的話,那一開始用戶進來沒有任何篩選條件的話, 就直接驗證不通過了

大家讲道理大家讲道理2747 天前501

全部回覆(3)我來回復

  • 迷茫

    迷茫2017-05-16 16:49:29

    一種方案是在頁面中增加一個顯示錯誤的區域,使用Laravel提供的方式展示(直接表單提交,提交之前先使用js驗證資訊是否合法,js驗證通過後提交,後端再進行驗證)

    @if ($errors->count() > 0)
        {{ $errors->first($errors->keys()[0] ?? null) }}
    @endif
    

    不過這種方式不太友好,可以將篩選表單提交改為異步的,頁面結果使用js去渲染。

    回覆
    0
  • 阿神

    阿神2017-05-16 16:49:29

    參數篩選規則?
    果斷用middleware啊,get參數請求獲取,$request->getQueryString(),然後放到中間件裡面篩選。

    回覆
    0
  • PHPz

    PHPz2017-05-16 16:49:29

    沒有傳的參數就不要去驗證格式
    傳了才驗證。

    回覆
    0
  • 取消回覆