【发布时间】:2019-01-09 18:08:58
【问题描述】:
我试图避免管理员的悖论删除自己的管理员角色并得到这个错误
Undefined variable: request
Undefined variable: thisUser
变量是在验证函数之外定义的,
下面是整个验证代码,有没有办法通过内置验证来做到这一点?
public function edit(Request $request)
{
$thisUser = Auth::user();
$validatedData = $request->validate([
'id' => 'required',
'name' => 'required|alpha_num',
'email' => 'required|E-Mail',
'is_admin' => [
'required',
'boolean',
function($attribute, $value, $fail) {
if($thisUser->id == $request->input('id')) {
return $fail('Can not remove admin privilege of yourself');
}
}
]
]);
...
}
【问题讨论】:
-
您要在哪里执行此操作?另外,你是否在命名空间中包含了 Auth 和 Request 门面?
-
这是一个控制器类,是的,一切都包括在内,所有变量都在验证函数之外工作。
标签: php validation laravel-5