abstract:1.验证器类<?phpnamespace app\validate;use think\Validate;class Product extends Validate{ protected $batchValidate = true; protected $rule = [ 'n
1.验证器类
<?php
namespace app\validate;
use think\Validate;
class Product extends Validate
{
protected $batchValidate = true;
protected $rule = [
'name' => 'require|length:4,15',
'price' => 'number|between:1,120',
];
protected $message=[
'name.require'=>'商品信息不能为空'
];
}
2.控制器类
<?php
namespace app\index\controller;
use think\Controller;
use app\validate\Product;
use think\Validate;
class Verify extends Controller
{
//(1).普通验证器
// public function demo1()
//// {
//// $data = ['name' => '',
//// 'price' => 10
//// ];
//// $validate = new Product();
//// if (!$validate->check($data)) {
//// dump($validate->getError());
//// } else {
//// return '验证通过';
//// }
//// }
//(2).验证器的简化:$this->validate($data,$rule,$mess)
// public function demo2()
// {
// $data = [
// 'name' => 'de d',
// 'price' => 10000];
// $rule = 'app\validate\Product';
// $res = $this->validate($data, $rule);
// if ($res !== true) {
// return $res;
// }
// return '验证成功';
// $data=['age'=>20];
// $rule=['age'=>'between:10,50'];
// $mess=['age.between'=>'年龄必须在10到50之间'];
// $res=$this->validate($data,$rule,$mess);
// if ($res !== true) {
// return $res;
// }
// return '验证成功';
// }
//(3).独立验证
public function demo3()
{
// 创建验证规则
$rule = ['age' => 'require|between:20,60'];
// 2.创建错误信息
$mess = ['age.require' => '年龄必须填写',
'age.between' => '年龄必须在20到60之间'
];
//创建数据
$data = ['age' => 20];
// Validate::make():创建验证规则并返回验证对象
$validate = Validate::make($rule, $mess);
$res = $validate->check($data);
return $res ? '验证通过' : $validate->getError();
}
}
3.部分运行结果
Correcting teacher:天蓬老师Correction time:2019-05-13 09:14:53
Teacher's summary:如果在继承了控制器基类的情况下, 使用验证器的快捷方法, 还是很方便的....