我尝试按照文档在我的代码中使用以下规则,但它不起作用:
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|unique:users,email,:email',
];
}
它返回The email has already been taken.
我想说的是,如果用户的电子邮件不是唯一的,那么抛出一个错误,除了当前的用户ID。
我怎样才能做到这一点?
答案 0 :(得分:3)
您需要为唯一规则指定要忽略的ID。试试这个:
return [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|unique:users,email,' . Auth::user()->id
];
注意:这假设您使用的是Laravel的Auth类。