调试中,只在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
请使用和老师讲课一模一样的版本,否则后果自负,我的代价是花费了两个小时。
00 -
慕移动2795088
2019-08-02
请用和老师一模一样的thinkphp版本,Validate代码有迭代,都是5.0的也不行,我真服了
00 -
7七月
2019-05-27
没进去可能是因为在执行前就报错了。这个就需要你断点调试,每一行打上断点,一直定位到某一行代码上再分析。
022019-06-12
相似问题