форма запроса вместо массива в laravel

Я использую Laravel, и у меня есть система сортировки, и я хочу использовать запрос формы для его проверки.

так что запрос такой

    array:5 [▼
  "type" => "product"
  "minprice" => "10"
  "maxprice" => "10000000000"
  "color" => null
  "sortBy" => array:2 [▼
    "field" => "created_at"
    "orderBy" => "desc"
  ]
]

и я хочу проверить 'field' и 'orderBy', чтобы иметь только, например, значение created_at и значение desc

Как я могу это сделать?

вот мой запрос формы

  return [
      'type' => 'required|in:all,file,service,product',
      'minprice' =>  'required|numeric|min:0|max:1000000000000',
      'maxprice' =>  'required|numeric|min:0|max:100000000000000',
      'color' =>  'min:0|max:7',
      // 'sortBy' =>  'in:desc,orderBy',
    ];

1 ответ

Решение

Прочтите документацию по адресу: https://laravel.com/docs/6.x/validation

Он говорит:

Если ваш HTTP-запрос содержит "вложенные" параметры, вы можете указать их в своих правилах проверки, используя синтаксис "точка":

Итак, вы можете использовать:

'sortBy.field' => 'in:created_at,updated_at,deleted_at',
'sortBy.orderBy' => 'in:asc,desc',
Другие вопросы по тегам