首页 > 解决方案 > Laravel 验证多列的唯一规则

问题描述

我有一个用户表和两列:emailphone。在我的注册和登录控制器中,我想在电子邮件和电话列中创建一个唯一的字段。

$data = request()->validate([
   'login' => ['required', 'string', 'email', 'max:255', 'unique:users,email'],
   'password' => ['required', 'string', 'min:8', 'confirmed'],
]);

这是我的代码,它只检查电子邮件列以确保登录字段的值不存在。如何更改此规则以检查电子邮件和电话列?

标签: phplaravellaravel-validation

解决方案


只需再制定一个‌‌‌‌‌规则‌‌‌‌‌‌‌:‌‌‌‌‌‌‌‌‌‌</p>

$data = request()->validate([
   'login' => ['required', 'string', 'email', 'max:255', 'unique:users,email','unique:users,phone'],
   'password' => ['required', 'string', 'min:8', 'confirmed'],
]);

推荐阅读