thinkphp5.1验证

Posted 皮皮虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 \'验证通过\';
    }

以上是关于thinkphp5.1验证的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5.1全局验证层封装

Thinkphp5.1实现发送邮箱验证码

c_cpp 快速代码片段,用于在统计(阻止)/ dev / rdsk中的设备时验证fstat64和stat64的行为。

thinkphp5.0 与thinkphp5.1 db()函数的区别

教程4 - 验证和权限

ThinkPHP5.1表单令牌Token失效问题的解决_php实例 - PHP