下面給大家講解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('[email protected]'); // 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' => '[email protected]',
];
$validate = new \app\index\validate\User;
if (!$validate->check($data)) {
dump($validate->getError());
}
}
}





