【问题标题】:Laravel Rules Validation two VariablesLaravel 规则验证两个变量
【发布时间】:2019-02-13 10:59:54
【问题描述】:

我想通过验证规则验证用户(成员)是否是组的一部分。 这是我功能的一部分...

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;
    }
}

有什么想法吗?

【问题讨论】:

    标签: laravel validation rules


    【解决方案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.');
            }
        }
    ],
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 2017-01-02
      • 2016-12-17
      • 2020-06-25
      • 2020-06-09
      • 2021-12-09
      • 1970-01-01
      相关资源
      最近更新 更多