添加客服咨詢詳情
咨詢熱線:15918671994
多用戶
商城系統(tǒng)
訂單
管理系統(tǒng)
訂貨
管理系統(tǒng)
多語言
商城系統(tǒng)
發(fā)表于 2017-11-16 10:51:10 瀏覽:3811
一個獨立的系統(tǒng),僅僅只在前臺進行表單驗證是遠遠不夠的,在處理 PHP 表單時提交時需重視安全性,我們需對 HTML 表單數(shù)據(jù)進行適當(dāng)?shù)尿炞C對于防范黑客很重要。
使用ThinkPHP 5框架做項目時,如何使用框架自帶的驗證機制和框架內(nèi)自定義驗證規(guī)則 來比較好地做好項目,下面我們以實際項目WSTMart B2B2C商城系統(tǒng)源碼講解:
(1)在需要使用驗證的模塊下創(chuàng)建validate目錄,在目錄下創(chuàng)建驗證文件。
(2)驗證規(guī)則的定義
驗證多個規(guī)則:
(3)驗證規(guī)則(部分)
TP5框架內(nèi)置了常用的驗證規(guī)則:
require:驗證某個字段必須
例如:['goodsName','require','請輸入商品名稱']
number(integer):驗證某個字段的值是否為數(shù)字
例如:['goodsSn','number','商品貨號只能為數(shù)字']
float:驗證某個字段的值是否為浮點數(shù)據(jù)
例如:['goodsPrice','float','商品價格只能為浮點數(shù)']
in:驗證某個字段的值是否在某個范圍
例如:['goodsType' ,'in:,0,1','無效的商品類型'],
notIn:驗證某個字段的值是否不在某個范圍
例如:['goodsType' ,'notIn:,0,1','無效的商品類型'],
max:number 驗證某個字段的值的最大長度
例如:['goodsName' ,'max:300','商品名稱不能超過100個字符']
*以上只是部分內(nèi)置規(guī)則,完整的內(nèi)置規(guī)則請參考TP5官方文檔
自定義驗證規(guī)則:系統(tǒng)內(nèi)置了一些規(guī)則,偶爾會出現(xiàn)不夠用,因此可以自己擴展驗證規(guī)則,下面查看WSTMart三級分銷系統(tǒng)源碼,可以直接在驗證器類添加自己的驗證方法(需要注意的是,自定義的驗證規(guī)則方法名不能和已有的規(guī)則沖突)
(4)在WSTMart三級分銷系統(tǒng) model文件中,需要使用的地方調(diào)用validate(true)方法
(5) 若驗證不通過,WSTMart三級分銷系統(tǒng) save()會返回false,驗證不通過的原因可以通過$this->getError()來獲取
以上就是tp5的系統(tǒng)驗證規(guī)則及自定義驗證方法規(guī)則,大家有比較好的方法也希望多留言交流!
獲取體驗賬號 最新優(yōu)惠及電商資訊