thinkphp5.1驗證


驗證

驗證器

每個驗證需要一個繼承自think\Validate的驗證類,類里面的$rule代表了驗證的規則

<?php
namespace app\validate;

use think\Validate;

class User extends Validate
{
//當前驗證的規則
    protected $rule=[
        'name|姓名'=>[  //姓名是name的別名,用於輸出錯誤信息
            'require',  //必填
            'max'=>20,  //最大長度
            'min'=>5,   //最小長度
        ],
        'email'=>[
            'require',
            'email'=>'email',//必須是email格式
        ],
        'password'=>[
            'require',
            'max'=>20,
            'min'=>8,
            'alphaNum'//必須是字母或數字
        ]
    ];
}

進行測試

<?php

namespace app\index\controller;
use app\facade\Validatefacade;
use app\validate\User;
use think\Controller;

class Validatetest extends Controller
{
    //驗證器,是個類Validate,
    public function test1()
    {
        //要驗證的數據
        $data = [
           'name' => 'xiaxuu',
            'email' => '2112343@qq.com',
            'password' => 'fdsfsafd'
        ];
        //驗證器是個類
        $validate = new User;//實例化驗證類
        if (!$validate->check($data)) {//檢驗驗證
            return $validate->getError();//如果姓名為空就輸出’姓名不能為空‘
        }
        return '驗證成功';
    }
}

獨立驗證

//獨立驗證 使用think\validate里的rule方法,就是對$rule的初始化,使用內置的Validate的靜態代理
    public function test4(){
        $rule=[
            'name|姓名'=>[  //姓名是name的別名,用於輸出錯誤信息
                'require',  //必填
                'max'=>20,  //最大長度
                'min'=>5,   //最小長度
            ],
            'email'=>[
                'require',
                'email'=>'email',//必須是email格式
            ],
            'password'=>[
                'require',
                'max'=>20,
                'min'=>8,
                'alphaNum'//必須是字母或數字
            ]
        ];
        $data = [
            'name' => 'xiaxuu',
            'email' => '2112343@qq.com',
            'password' => 'fdsfsafd'
        ];
        Validate::rule($rule);//添加了驗證規則
        if(!Validate::check($data)){
            return Validate::getError();
        }
        return '驗證通過';
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM