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 进度条实现代码
Mar 10 PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 PHP
php中常用的预定义变量小结
May 09 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
如何使用php等比例缩放图片
Oct 12 PHP
workerman结合laravel开发在线聊天应用的示例代码
Oct 30 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 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数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
php数据访问之查询关键字
2016/05/09 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
javascript基本类型详解
2014/11/28 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python3生成手写体数字方法
2018/01/30 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
酒鬼酒广告词
2014/03/21 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
事业单位个人总结
2015/02/12 职场文书
整改通知书格式
2015/04/22 职场文书
调解书格式范本
2015/05/20 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫