验证两个唯一的列

时间:2020-01-13 17:51:50

标签: php laravel validation laravel-5.8

我有一个模型Market,可以有一个所有者和许多客户。当客户注册时,我想根据emailcustomer_market_id来验证他们是否唯一。我希望客户能够使用与市场所有者相同的电子邮件进行注册。区别在于,市场所有者拥有null的{​​{1}}。当我尝试使用当前的验证方法执行此操作时,该操作将失败。

customer_market_id]

我已经在email => ['unique:users,email,customer_market_id'包中尝试过这种方法:

uniquewith-validation

如果有人有任何建议,那就太好了!谢谢!

4 个答案:

答案 0 :(得分:0)

'email' => 'unique:table_name,email_address_column'

unique有两个参数。第一个参数是数据库中的table_name,第二个参数是表中的column_name。

答案 1 :(得分:0)

尝试进行以下验证:

'email' => 'unique:users,email | unique:users,customer_market_id'

答案 2 :(得分:0)

 $this->validate($request,[
            'name' => 'required|string|max:255|unique:users',
            'email' => 'required|string|email|max:255|unique:users',
        ]);

答案 3 :(得分:-1)

对于不同的用户角色注册,您可以使用 laravel Guard 。为所有者和客户之类的每种角色类型创建警卫,并可以轻松地使用相同的ID进行注册。 Laravel Guard 参见文档

相关问题