Laravel Validator 实现两个或多个字段联合索引唯一


Posted in PHP onMay 08, 2019

Laravel的Validation还是蛮好用的,使用Validator可以非常方便的验证表单,它提供了unique唯一性验证,但是默认只能验证一个字段,那遇到两个甚至多个字段的联合索引,需要满足复杂条件唯一性怎么实现呢

Validator复杂唯一性实现方法

我们可以用自定义 Rule 自定义验证规则,比如像这样:

[...]
$where = [
      'name' => $request->name,
      'phone' => $request->phone
    ];
$this->validate($request, [
    "phone" => [
        "required",
        Rule::unique('table_name')
            ->where(function ($query) use ($where) {
                return $query->where($where);
            })
    ],
]);
[...]

首先我们把原来的字符串形式,改成数组形式,在数组中用 Rule 去自定义新的规则,很显然 unique() 方法是对 unique 来自定义的,然后参数是表的名字,后面再跟一个 where 函数,用到了闭包,匿名函数查询同时满足两个条件的结果是否存在,返回查询结果。

如此,我们便完成了自定义复杂的唯一性验证。

总结

以上所述是小编给大家介绍的Laravel Validator 实现两个或多个字段联合索引唯一,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
php实现socket推送技术的示例
Dec 20 PHP
详解php用static方法的原因
Sep 12 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
PHP echo()函数讲解
Feb 15 PHP
php将xml转化对象的实例详解
Nov 17 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 #PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 #PHP
Laravel框架路由管理简单示例
May 07 #PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 #PHP
Laravel框架Request、Response及Session操作示例
May 06 #PHP
thinkphp5框架扩展redis类方法示例
May 06 #PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 #PHP
You might like
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
Javascript之String对象详解
2016/06/08 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
Python科学计算包numpy用法实例详解
2018/02/08 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
python日期相关操作实例小结
2019/06/24 Python
Python模块future用法原理详解
2020/01/20 Python
多个python文件调用logging模块报错误
2020/02/12 Python
python实现简单的购物程序代码实例
2020/03/03 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
HTML5进度条特效
2014/12/18 HTML / CSS
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
小学生志愿者活动方案
2014/08/23 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
大学生党员自我评价
2015/03/04 职场文书
中秋节寄语2015
2015/03/24 职场文书
幽默导游词开场白
2015/05/29 职场文书
六五普法学习心得体会
2016/01/21 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
Python绘画好看的星空图
2022/03/17 Python