请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

验证器isNotEmpty规则

https://img1.sycdn.imooc.com//szimg/5a13738c0001862006540343.jpg

https://img1.sycdn.imooc.com//szimg/5a13738c0001450309790589.jpg

https://img1.sycdn.imooc.com//szimg/5a13738c00013e6107950686.jpg

不知道老师有没有测试过OrderPlace里的checkProducts验证规则,当传递的products只有键没有值的时候,不会被验证器检测到。不知道为什么,我无法在验证规则里打断点进行测试(打了断点之后也不会进入断点),我只能猜测empty($value)没有起到判断作用。

然后我回头去看了一下isNotEmpty验证规则,里面也有类似的写法empty($value),我写了一个测试用的验证规则,发现确实isNotEmpty没有起到作用,当我只传入键没有传入值的时候,不会报错。

因为找了好久没找到错误的地方,如果老师没有这种问题的话,我会去再看看自己代码的问题。

正在回答 回答被采纳积分+3

1回答

7七月 2017-11-21 17:28:45

这个自定义验证规则是可以断点调试的。如果实在不行,打印看一下也是可以的。至于怎么判断,这个还是有赖于自定义验证器是怎么编写的。

0 回复 有任何疑惑可以回复我~
  • 我网上查询了一些资料,发现也有人反应TP5在参数传值为空的时候,不会走自定义验证规则,但是可以通过require来验证。 您之前的课程是说require不能验证参数传值为空的情况所以写了isNotEmpty,我特意回去看了之前的课程,发现您那时候也没用做调试,我调试了一下,结论还是isNotEmpty在验证参数为空的情况下起不到验证作用
    回复 有任何疑惑可以回复我~ 2017-11-21 19:10:41
  • isNotEmpty是自定义规则,这个不能没用的,建议调试下这个函数。默认的规则好像确实是有问题的。
    回复 有任何疑惑可以回复我~ 2017-11-21 19:46:48
  • 我已经调试过了,建议您也去试试,传入空参数的时候 TP不会走我们的自定义验证规则,我不管怎么试都是这样 打log也是这样的结果。网上给出的解决方案之一是重写requireif。
    回复 有任何疑惑可以回复我~ 2017-11-22 12:29:41
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信