下面thinkphp框架教學欄位將要跟大家講解Thinkphp5.1實作信箱驗證問題,希望對需要的朋友有幫助!
具體問題:
例如我想驗證這個email是否合法 我想用TP的自帶的驗證規則 應該怎麼驗證呢?我看手冊上要定義個User類別我們定義一個\app\index\validate\User驗證器類別用於User的驗證。 TP框架驗證郵箱用戶名什麼的要這麼麻煩嗎?這個驗證器類別要寫在哪裡呢?跟控制器同級目錄下嗎?
<?php namespace app\index\controller; use think\Controller; use think\facade\Request; use think\response; use think\View; use think\Validate; class Register extends Controller { public function regcheck(){ $data=input('email'); } } ?>
解決方法:
要單一驗證,可以靜態呼叫的哦
// 验证是否有效邮箱地址 use think\facade\Validate; Validate::isEmail('thinkphp@qq.com'); // true
如果驗證的東西比較多,建議還是建議使用驗證器
驗證器類別可以自訂目錄,建議放在\app\index\validate目錄下。
驗證器類別
namespace app\index\validate; use think\Validate; class User extends Validate { protected $rule = [ 'name' => 'require|max:25', 'email' => 'email', ]; protected $message = [ 'name.require' => '名称必须', 'name.max' => '名称最多不能超过25个字符', 'email' => '邮箱格式错误', ]; }
在控制器裡使用:
namespace app\index\controller; use think\Controller; class Index extends Controller { public function index() { $data = [ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]; $validate = new \app\index\validate\User; if (!$validate->check($data)) { dump($validate->getError()); } } }
以上是說說Thinkphp5.1實作郵箱驗證問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!