探索TP6验证场景的only、remove、append规则

废话

忍不住先吐槽一下,且不说TP的功能怎么样,文档写得是真的潦草,很多复杂的情况都没有举例说明。奈何网上的资料又很少,每次只能一点点去啃源码,难受的呀,常常想换个框架或者换个语言得了,但又以没时间为由懒得行动,真是自作自受呢 ≧ ﹏ ≦。
最近在工作的时候用到TP6验证器的场景里的only、remove、append三个方法,没想到用起来好多小问题,非常不顺手,无奈只能一个个去找具体的隐藏规则了。

正文

先附上源码路径:\vendor\topthink\framwork\src\think\Validate.php
然后说一下源码里大致的程序逻辑:

  1. 先把only+append所有的验证规则rule找出来,合成一个数组。
  2. 然后去remove里面找,如果在remove里面,则跳过验证。
  3. 开始验证,即only+append-remove 的所有规则。 根据这个逻辑,onlyremoveappend是无所谓先后顺序的。(第一个小发现)

接下来是这次试出来的几个规则,时间有限,内容还比较少,后面会在使用的过程中再慢慢补充。

1. removeappend使用的前提是需要only声明:

第一点虽然文档里没有明说,但是稍微试一下还是能很容易得出结论的。

//文档里的例子
public function sceneEdit()
{
   
   return $this->only(['name','age'])
       ->append('name', 'min:5')
       ->remove('age', 'between')
       ->append('age', 'require|max:100'
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值