ThinkPHP5 表單請求和驗證 01

2021-08-04 20:27:58 字數 1358 閱讀 8935

請求型別

表單驗證的第一步是判斷表單提交型別,在請求物件一講中我們已經掌握了判斷請求型別的方法,在restful設計的架構規範中,不同的請求型別的用途是不同的,應當盡量遵守,建議的規範是:

請求型別

用途get

讀取資源

post

建立資源

put更新資源

patch

更新部分資源

delete

刪除資源

資源控制器使用的規範就是上述規範,不過需要注意的是,對資源的curd並不一定是資料庫的curd,例如軟刪除對於資源來說是刪除操作,但對於資料庫來說其實是更新操作,但軟刪除的請求型別的規範還是使用的delete

偽裝請求有時候在客戶端需要使用put或者delete請求更新資料,但表單又不支援直接這類請求型別,這個時候我們可以使用請求偽裝功能。

支援兩種方式的請求型別偽裝:隱藏表單域偽裝和請求頭偽裝。

請求偽裝功能的表單提交方式必須使用post,然後增加乙個隱藏表單域_method,其值就是你要偽裝的請求型別(不區分大小寫),

例如直接貼上以下內容到view/index/index.html:

直接貼上以下內容到預設控制器index/index/index.php

提交的請求型別會被識別為put請求型別,隱藏域的名稱支援自定義

如果想修改_method標籤可以通過設定:

// 定義請求型別偽裝的變數名

'var_method'    =>  '_m',

請求偽裝的表單隱藏域就可以改為:

第二種請求型別偽裝的方式是指定請求頭資訊,例如我們通過傳送  x-http-method-override頭資訊為 put來模擬  put請求。

模擬ajax除了偽裝請求型別外,我們還可以模擬ajax請求來進行一些api介面的測試。

測試**如下:

使用postman,method請求方法隨便選擇,測試如下:

當模擬ajax請求返回的字串加上了雙引號是因為受預設配置default_ajax_return的影響,被自動轉換為json格式輸出了。

ThinkPHP5 表單請求和驗證 04

使用驗證器 如果你使用了驗證器的話,可以簡化控制器裡面的驗證 use think validate class user extends validate 控制器 可以簡化如下 use think controller use think request class index extends co...

thinkphp5表單令牌

考慮安全的問題,在 中加了令牌。下面說一下如何用thinkphp5自帶的令牌去完成。度了一下,也沒寫的比較全的,tp5文件你懂得,不過最後還是依靠文件寫出來的 文件中介紹了好幾種方法,我就不一一講了,我講乙個直接拿來就能用的。不需要額外的模型層和多餘的 廢話不多說,上 前端 插入在form中 這個能...

ThinkPHP5表單令牌重新整理

製作登入頁面的時候,加入了表單令牌,賬號和密碼輸入錯誤後,再登入的話,會提示表單令牌錯誤,這是因為舊的令牌已經過期了,我們要處理下前端的token,修復的辦法,在路由檔案下加入 重新整理表單令牌,然後前端提交表單後,js呼叫,這裡的我用的是 token route get refresh token...