thinkphp5.1验证器场景验证中传参的方法。

2019-03-13 23:35:52来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

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

'name'   => 'unique:user',

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

 

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

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

 

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

 

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


原文链接:https://www.cnblogs.com/alpiny/p/10518372.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:对应PHP文件上传后缀名与文件类型

下一篇:php使用urlencode对中文编码而引出的问题:urlencode和rawurlenc