1. 程式人生 > >TP5 驗證器及如何使用驗證器

TP5 驗證器及如何使用驗證器

今天給大家分享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);
    }
}

然後,我們先測試以下,看看能不能驗證成功:

希望能幫到大家!