ThinkPHP Validate自定义规则

时间:2024-03-19 14:35:07

首先,我们开发经常会遇到:校验参数时,看到过很多通常做法是直接if判断,参数少时还好,参数多时10多个参数以上呢?然后就用ThinkPHP5 封装好的Validate验证规则,开发业务时经常会遇到某些字段,ThinkPHP5验证规则没有我们想要的。这时就需要封装多个自定义验证规则了。

ThinkPHP Validate自定义规则

如上图:封装一个受保护的方法 参数 $value 是传递过来的值 $field是字段名

然后接下来只需要在方法里面进行判断做校验。

判断当前值是否为数字 并且 是否为整型 并且 是否大于0

is_numeric($value) && is_int($value+0) && ($value+0)>0

如果通过校验则 return 返回true

否则返回错误信息 return $field(‘字段名’).'返回内容';

这样就构建成功一个自己想要的Validate自定义规则了

如何调用?

ThinkPHP Validate自定义规则

只要在其后面加入刚刚的方法名即可使用

返回结果

ThinkPHP Validate自定义规则

 

另外分享一下,如何像TP5 自带的规则一样在每个Validate问价下使用

首先跳转到ThinkPHP核心封装好的Validate文件中

ThinkPHP Validate自定义规则

跳转到该文件中

ThinkPHP Validate自定义规则

 

图上所画 为文件路径可根据路径找此文件

ThinkPHP Validate自定义规则

划到最后一行 添加之前写的规则,即可任何Validate都可调用。