我使用的是Laravel 5.5.14并使用php artisan make:request CreateInviteRequest
创建了请求或验证。
我希望用户无法邀请自己。
有没有办法给出正确的错误说"不能自我"?
现在我用'not_in:'.Auth::guard('api')->user()->id
完成了这个:
public function rules(Request $request)
{
return [
'invite_user' => ['numeric', 'exists:users,id', 'not_in:'.Auth::guard('api')->user()->id]
];
}
这会显示错误消息The selected invite_user is invalid.
答案 0 :(得分:1)
您可以将要忽略的ID添加为exists()
规则的第三个参数:
'invite_user' => 'numeric|exists:users,id,' . auth()->id(),
答案 1 :(得分:1)
你可以通过Not In实现这一点。
public function rules(Request $request)
{
return [
'invite_user' => 'required|email|unique:users,email',
Rule::notIn([Auth::guard('api')->user()->id]),
];
}
答案 2 :(得分:1)
定义消息
public function messages()
{
return [
'invite_user.not_in' => 'cannot be self',
];
}