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 '验证通过';
}