模型类创建一个验证器

Original 2019-05-13 00:01:15 175
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.部分运行结果

QQ图片20190512235915.png

Correcting teacher:天蓬老师Correction time:2019-05-13 09:14:53
Teacher's summary:如果在继承了控制器基类的情况下, 使用验证器的快捷方法, 还是很方便的....

Release Notes

Popular Entries