当前位置:首页 > CMS教程 > Thinkphp > 列表

TP5.1验证器在场景验证中传参的使用

发布:smiling 来源: PHP粉丝网  添加日期:2020-02-25 20:15:42 浏览: 评论:0 

本文的主要内容是关于在thinkphp5.1验证器场景验证中传参的方法的介绍,具有 一定的参考意义,感兴趣的朋友可以了解一下。

一个场景:用户保存自己的昵称,如果已经有其他用户用了这个昵称则不允许保存,但是要排除当前用户自己,因为如果用户未作修改,新昵称和老昵称一样,是可以保存的。

因为昵称定义了唯一规则:

'name'   => 'unique:user',

所以即便是当前用户也不能保存未经修改一样的昵称。

解决方法:在控制器中,就把uid(主键)通过验证器唯一通道 $data参数传递给验证器

  1. //控制器代码 
  2.  
  3. $data['uid'] = 10; 
  4.  
  5. $validate = $this->validate($data'app\common\validate\User.info'); 

这样,验证器就会自动排除当前主键,当前主键可以顺利保存。不会被唯一性束缚。

有遇到同样问题的小伙伴,可以参考。

Tags: TP5 1验证器

分享到: