调试中,只在banner.php中,无法进入IDMustBePositiveInt.php。

来源:4-6 自定义验证规则

黑妞不是妞

2019-05-26

老师,代码按照视频输入,还有断点也设置相同位置,但是调试时,进不了IDMustBePositiveInt.php,这种情况是怎么回事?

IDMustBePositiveInt.php

<?php
namespace app\api\validate;
use think\Validate;

class IDMustBePositiveInt extends Validate
{
    protected $rule =[
        'id' => 'require | isPositiveInteger'
    ];
    
    protected  function  isPositiveInteger($value, $rule = '', $data = '', $field = ''){
        if ($value){

        }else{

        }
    }
}

图片描述
同时,isPositiveInteger方法中,KaTeX parse error: Expected 'EOF', got '、' at position 5: rule、̲data、$field三个参数好像也有问题。

Banner.php

<?php
namespace app\api\controller\v1;
use app\api\validate\IDMustBePositiveInt;

class Banner
{
    /*
     *获取指定id的Banner信息
     * @url /banner/:id  接口访问路径
     * @http GET         指明HTTP请求方式
     * @id banner的id号
     *
     */
    public function getBanner($id){

        //独立验证
        //获取id参数
        $data = [
            'id' => $id
        ];

        //id参数的验证规则
//        $validate = new Validate([
//            'id' => ''
//        ]);

        //验证器方式
        $validate = new IDMustBePositiveInt();

        //验证结果
        $result = $validate->batch()->check($data);

        if($result){

        }else{

        }
    }
}

图片描述

写回答

3回答

慕移动2795088

2019-08-02

请使用和老师讲课一模一样的版本,否则后果自负,我的代价是花费了两个小时。

0
0

慕移动2795088

2019-08-02

请用和老师一模一样的thinkphp版本,Validate代码有迭代,都是5.0的也不行,我真服了

0
0

7七月

2019-05-27

没进去可能是因为在执行前就报错了。这个就需要你断点调试,每一行打上断点,一直定位到某一行代码上再分析。

0
2
qq_思念只会伤自己_0
回复
黑妞不是妞
请问你这个问题解决了没?是什么原因
2019-06-12
共2条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4857 学习 · 4388 问题

查看课程