Laravel验证多列的唯一规则

时间:2020-10-29 15:40:41

标签: php laravel laravel-validation

我有一个用户表和两列,分别是emailphone。 在我的注册和登录控制器中,我想在电子邮件和电话列中都设置一个唯一的字段。

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

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

1 个答案:

答案 0 :(得分:1)

只要再制定一个‌‌‌‌‌rule‌‌‌‌‌‌‌‌‌:‌‌‌‌‌‌‌‌‌

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