Валидация в Laravel на основе значения другого поля

Подскажите как сделать красивую валидацию на ларе, дано: приходит следующий массив:

{
    "id": 588,
    "type":"get",
    "storage": "id": 32,
}

если приходит type = get то можно выбрать склад по условию:

$query->where('active', 1)->where('type', '=', 'get');

если type = set то,

$query->where('active', 1)->where('type', '=', 'get')->orWhere('type', '=', 'set');

сейчас проверка выглядит следующим образом:

'storage' => [
      'exists:Storage,id',
       Rule::exists('App\Models\Make\Storage', 'id')->where(function ($query) {
            return $query->where('active', 1)->where('type', '=', 'get')->orWhere('type', '=', 'set');;
      }),

Как ее дополнить что бы выполнялась проверка по полю "type"?


Ответы (0 шт):