我正在创建用户CRUD,并且使用“请求”来验证控制器的方法。在我的更新方法中,我具有符合以下规则的验证器:
return [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', function($attribute, $value){
// How to validate?
}],
'roles' => ['required', 'array', 'in:admin,manager,employee,client']
]
更新用户时,我试图验证是否有另一个用户具有相同的电子邮件,但是我找不到解决方法。
这是我收到的模型(这是一个REST API)。用户ID作为URL参数出现:
{
"name":"Andre Luiz",
"email": "andredx@xxxxxxxx.com",
"roles": ["admin"]
}
如何进行验证?
答案 0 :(得分:0)
您可以通过unique:users ..进行验证,其中users是您拥有电子邮件的表
答案 1 :(得分:0)
仅使用唯一|用户敌人无法正常工作。这是我实现的方式:
return [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,'. Auth::user()->id],
'roles' => ['required', 'array', 'in:admin,manager,employee,client']
];