Laravel-验证规则分组

时间:2019-01-24 18:20:52

标签: laravel validation

我正在尝试验证一种表单,用户可以在其中修改联系人并选择或更改首选联系人。在三种情况下,可以传递字段进行验证。

  1. 联系人,contact_id,首选(更新联系人并将其设置为首选)
  2. contact_id,首选(将联系人设置为首选)
  3. 联系人,contact_id(更新联系人)

现在,我正在努力通过验证规则来配对这些字段,因此无论如何缺少字段都会产生错误。

编辑:这是我想出的规则:-

public function rules() {
    $request = Request::all();

    return [
          'contact_id' => [
            'bail',
            'numeric',
            'not_in:0',
            Rule::exists('user_contact')->where(function ($query) use ($request) {
                $query->where('contact_id', $request['contact_id'])->where('user_id', Auth::user()->id);
            }),
        ],
        'contact' => [
            'bail',
            'required_with:contact_id',
            'regex:/^[7-9][0-9]{9}$/',
            'unique:user_contact,contact_no'
        ],
        'is_preferred' => [
            'sometimes',
            'required_with:contact_id',
            'in:true,false',
        ]
    ];
}

0 个答案:

没有答案