1、验证器的使用
验证器的调用
普通调用
$data = [
'name' => '',
'age' => 100,
'sex' => 0,
'phone' => 13752812824
];
$v = new Validate();
$v->rule([
'name' => 'require|length: 1,25',
'sex' => 'require|in: 0,1',
]);
$v->message([
'name.require' => '请输入名字',
'name.length' => '名字的长度是1到25之间',
'sex.require' => '请输入性别',
'sex.in' => '性别必需为0或者1'
]);
$res = $v->check($data);
dump($res);
//输出false
dump($v->getError());
//输出 请输入名字
另一种调用
$validate = (new Validate([ ['name', 'require|max:25', '请输入名字|名字长度最大不能超过25'], ['age','require|<:200', '请填充入年龄|年龄不能超过200'], ['sex', 'in:0,1', '性别必需为0或者1'], ['phone', 'require|unique:user,phone|regex:\d{11}', '请输入电话|电话已经被注册了|电话的长度为11位数'] ]));
$res = $validate->check($data); dump($res); dump($validate->getError()); if($res === false) { dump(User::getInfo()); } $v = validate('VUser')->check($data); dump($v); dump(validate('VUser')->getError());
也可以单独分离出来,建立单独的文件
<?php namespace app\index\validate; use think\Validate; class VUser extends Validate { protected $rule = [ ['name', 'require|max:25', '请输入名字|名字长度最大不能超过25'], ['age','require|<:200', '请填充入年龄|年龄不能超过200'], ['sex', 'in:0,1', '性别必需为0或者1'], ['phone', 'require|unique:user,phone|regex:\d{11}', '请输入电话|电话已经被注册了|电话的长度为11位数'] ]; protected $scene = [ 'abc' => ['name', 'age'], 'efg' => ['sex', 'phone'] ]; }
调用
public function index(){ $data = [ 'name' => '', 'age' => 100, 'sex' => 0, 'phone' => 13752812824 ]; $v = validate('VUser'); //方式一 // $v = Loader::validate('VUser'); //方式二 // $v = new VUser(); //方式三 $res = $v->scene('efg')->check($data); $msg = $v->getError(); dump($res); dump($msg); }
10、常用常量
IS_WIN:判断当前是否是window系统
THINK_PATH:返回的是当前thinkphp的工作目录
APP_PATH:返回的是application的工作目录