有没有办法在请求中获取原始数据? 我的意思是,在我的情况下,我想验证更新表单中的用户。我希望电子邮件在数据库中的电子邮件上是唯一的,除非用户写入表单的电子邮件。
答案 0 :(得分:1)
Laravel已经为此设置了验证规则,您可以向unique validator添加要忽略的用户ID。
'email' => [
'required',
Rule::unique('users')->ignore($currentUser->id),
]
答案 1 :(得分:0)
我使用过这样的东西:
'email' => ['sometimes', 'email', 'unique:users,email,'.$user->getKey().','.$user->getKeyName().',deleted_at,NULL', 'string'],
不确定它是否是最佳解决方案但有效。我有点不喜欢它,因为$user
基于来自请求的隐藏输入。
答案 2 :(得分:0)
你可以这样说:
'email' => 'unique:users,email,'.$user->id
用户ID将允许您不断更新记录,但保留对电子邮件的唯一约束。对于$ user-> id btw。
,您不需要隐藏的输入字段