我想通过验证规则来验证用户(成员)是否属于组。 这是我功能的一部分...
public function update(Request $request)
{
$request->validate([
'idgroup' => [
'required', 'numeric', new AdminGroupRequest
],
'member' => [
'required', 'numeric', new UserPartOfGroup
],
]);
这是我要检查用户是否属于组的规则类。
public function passes($attribute, $value)
{
$userofgroup = Member::where([['groupid', /*Here I need idgroup*/], ['member', $value/*This is already member*/]])->select('id')->first();
if($userofgroup){
return true;
}else{
return false;
}
}
有什么想法吗?
答案 0 :(得分:1)
您可以使用request()助手:
public function passes($attribute, $value)
{
return Member::where('groupid', request('idgroup'))
->where('member', $value)
->exists();
}
或者您也可以在FormRequest
内使用closure:
'member' => [
'required', 'numeric', function ($attribute, $value, $fail) {
$exists = Member::where('groupid', $this->input('idgroup'))
->where('member', $value)
->exists();
if (!$exists) {
return $fail('Your error message goes here.');
}
}
],