我有检查用户权限的示例函数:is_admin(), is_university()
和is_student()
。函数的返回值是布尔值。我有简单的验证方法:
protected function validator(array $data)
{
return Validator::make($data, [
"$this->recipient" => [
'sometimes',
'required',
'email',
'exists:users,email',
Rule::notIn([auth()->user()->email])
],
"$this->subject" => 'sometimes|required|min:10',
"$this->message" => 'sometimes|required|min:50',
], $this->validator_messages());
}
现在我无法通过check user权限发送消息:
public function send(Request $request)
{
$recipient = $request->recipient;
if(User::is_student() == true AND User::is_student($recipient) == true OR User::is_student() == true AND User::is_admin($recipient) == true){
return false; // Or here I can redirect to back.
}
$this->validator($request->all())->validate();
$this->create($request->all());
return redirect($this->redirectToAfterSendMessage);
}
在我的代码中,如果发件人是学生,那么学生就无法向学生和管理员发送消息。如何通过检查权限发件人和收件人返回验证邮件?感谢大家的回答!
答案 0 :(得分:2)
你说你想重定向回来。所以,而不是:
return false;
重定向用户:
return back()->with('error', 'Your error message');