首先,我们开发经常会遇到:校验参数时,看到过很多通常做法是直接if判断,参数少时还好,参数多时10多个参数以上呢?然后就用ThinkPHP5 封装好的Validate验证规则,开发业务时经常会遇到某些字段,ThinkPHP5验证规则没有我们想要的。这时就需要封装多个自定义验证规则了。
如上图:封装一个受保护的方法 参数 $value 是传递过来的值 $field是字段名
然后接下来只需要在方法里面进行判断做校验。
判断当前值是否为数字 并且 是否为整型 并且 是否大于0
is_numeric($value) && is_int($value+0) && ($value+0)>0
如果通过校验则 return 返回true
否则返回错误信息 return $field(‘字段名’).'返回内容';
这样就构建成功一个自己想要的Validate自定义规则了
如何调用?
只要在其后面加入刚刚的方法名即可使用
返回结果
另外分享一下,如何像TP5 自带的规则一样在每个Validate问价下使用
首先跳转到ThinkPHP核心封装好的Validate文件中
跳转到该文件中
图上所画 为文件路径可根据路径找此文件
划到最后一行 添加之前写的规则,即可任何Validate都可调用。