下面thinkphp框架教程欄目將給大家講解thinkphp5.1實現郵箱驗證問題,希望對需要的朋友有所幫助!
具體問題:
比如我想驗證這個email是否合法 我想用TP的自帶的驗證規則 應該怎樣驗證呢?我看手冊上要定義個User類我們定義一個appindexvalidateUser驗證器類用于User的驗證。 TP框架驗證郵箱用戶名什么的要這么麻煩嗎?這個驗證器類要寫在哪里呢?跟控制器同級目錄下嗎?
<?php namespace appindexcontroller; use thinkController; use thinkfacadeRequest; use thinkresponse; use thinkView; use thinkValidate; class Register extends Controller { public function regcheck(){ $data=input('email'); } } ?>
解決辦法:
要單個驗證,可以靜態調用的哦
立即學習“PHP免費學習筆記(深入)”;
//?驗證是否有效郵箱地址 use?thinkfacadeValidate; Validate::isEmail('thinkphp@qq.com');?//?true
如果驗證的東西比較多,建議還是推薦使用驗證器
驗證器類可以自定義目錄,建議放在 appindexvalidate目錄下。
驗證器類
namespace?appindexvalidate; use?thinkValidate; class?User?extends?Validate { ????protected?$rule?=???[ ????????'name'??=>?'require|max:25', ????????'email'?=>?'email',???? ????]; ???? ????protected?$message??=???[ ????????'name.require'?=>?'名稱必須', ????????'name.max'?????=>?'名稱最多不能超過25個字符', ????????'email'????????=>?'郵箱格式錯誤',???? ????]; ???? }
在控制器里使用:
namespace?appindexcontroller; use?thinkController; class?Index?extends?Controller { ????public?function?index() ????{ ????????$data?=?[ ????????????'name'??=>?'thinkphp', ????????????'email'?=>?'thinkphp@qq.com', ????????]; ????????$validate?=?new?appindexvalidateUser; ????????if?(!$validate->check($data))?{ ????????????dump($validate->getError()); ????????} ????} }
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END