验证
验证器
每个验证需要一个继承自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 \'验证通过\';
}