форма запроса вместо массива в 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',