TP5 驗證器及如何使用驗證器
阿新 • • 發佈:2018-12-19
今天給大家分享Thinkphp5,關於驗證器的使用,首先給大家截圖:
我們今天以驗證登陸為例項:
第一步:建立驗證器:在模組目錄下建立新資料夾,命名為:validate,在下面建立一個User.php的檔案,並複製以下程式碼:
<?php // +---------------------------------------------------------------------- // | Description: 使用者驗證器 // +---------------------------------------------------------------------- // | Author: phpAndy <[email protected]> // +---------------------------------------------------------------------- namespace app\admin\validate; use think\Validate; class User extends Validate { /** * 定義驗證規則 * 格式:'欄位名' => ['規則1','規則2'...] * * @var array */ protected $rule = [ 'username' => 'require|alphaDash', 'password' => 'require|min:6|max:15', 'code' => 'require', ]; /** * 定義錯誤資訊 * 格式:'欄位名.規則名' => '錯誤資訊' * * @var array */ protected $message = [ 'username.require' => '使用者名稱不能為空', 'username.alphaDash' => '使用者名稱只能以字母、數字、-、_組成', 'password.require' => '密碼不能為空', 'password.min' => '密碼最小長度:6個字元', 'password.max' => '密碼最大長度:15個字元', 'code.require' => '驗證碼不能為空', ]; }
第二步:建立模型層,建立一個名為User.php的模型,並複製以下程式碼(驗證器的使用其實用不上模型層,可以忽略此步驟):
<?php // +---------------------------------------------------------------------- // | Description: 使用者模型 // +---------------------------------------------------------------------- // | Author: phpAndy <[email protected]> // +---------------------------------------------------------------------- namespace app\admin\model; use think\Model; class User extends Model { /** * 設定主鍵 * @var string */ protected $pk = 'id'; /** * 設定資料表名 * @var string */ protected $table = 'admin_user'; /** * 設定當前模型的資料庫 * @var string */ protected $connection = 'currency'; }
第三步:新建檢視層這個就寫幾個input框就行,我就不復制我的程式碼了:
第四步:建立控制器,命名為Login.php,複製以下程式碼:
<?php // +---------------------------------------------------------------------- // | Description: 登陸控制器 // +---------------------------------------------------------------------- // | Author: phpAndy <[email protected]> // +---------------------------------------------------------------------- namespace app\admin\controller; use think\Controller; use think\Request; use app\admin\model\User; use app\admin\validate\User as validateUser; class Login extends Controller { /** * 登陸頁面 * @return mixed */ public function index(){ return $this->fetch('login'); } public function doLogin(Request $request,validateUser $validateUser,User $user){ $data = $request->param(); if (true !== $validateUser->check($data)) { return $validateUser->getError(); } //dump($data); } }
然後,我們先測試以下,看看能不能驗證成功:
希望能幫到大家!