thinkphp5.1學習過程十二 ——驗證器與靜態代理 控制器驗證

<?php
namespace app\index\controller;
//use app\validate\User;
use app\index\facade\User;
use think\Controller;
class Demo9 extends Controller
{
    //一、驗證器:使用Validate類中的rule屬性
    public function test1()
    {
        //要驗證的數據
        $data=[
            'name'=>'yht12345',
            'email'=>'45501@qq.com',
            'password'=>'123456',
            'mobile'=>'15988889999'
        ];
        //驗證器是一個類
//        $validate=new User();
//        if(!$validate->check($data)){
//            return $validate->getError();
//        }
        //使用當前驗證器的靜態代理
        if(!User::check($data)){
            return User::getError();
        }
        return '驗證經過';
    }
//調用控制器中的validate方法進行驗證:使用用戶自定義的驗證器
public function test2()
{
    //$this->validate($data,$validate);返回驗證結果
    //要驗證數據
    $data=[
        'name'=>'yht12345',
        'email'=>'45501@qq.com',
        'password'=>'123456',
        'mobile'=>'15988889999'
    ];
    //驗證規則
    $validate='app\validate\User';
    $res=$this->validate($data,$validate);

    if($res !== true){
        return $res;
    }
    return '驗證經過';
}
}
<?php
//用戶信息表的字段驗證器類

namespace app\validate;

use think\Validate;
class User extends Validate
{
    //
    protected $rule=[
        'name|姓名'=>[
          'require',
          'max'=>20,
          'min'=>5,
        ],
        'email|郵件'=>[
            'require',
            'email',
        ],
        'password|密碼'=>[
            'require',
            'max'=>12,
            'min'=>3,
            'alphaNum',
        ],
        'mobile|手機'=>[
            'require',
            'mobile',
        ],
    ];
}
<?php


namespace app\index\facade;

use think\Facade;
class User extends Facade
{
    protected static function getFacadeClass()
    {
        return 'app\validate\User';
    }
}

利用thinkphp裏面的validate類進行驗證php

相關文章
相關標籤/搜索