Как я могу решить & quot; Ошибка типа: Аргумент 1, передаваемый в App \ Http \ Controllers \ Controller :: validate (), должен быть экземпляром Illuminate \ Http \ Request, & quot ;?

Мой код такой:

public function functionA(Request $request)
{
...
if($request->get('data')) {
//echo '<pre>';print_r($request->get('data'));echo '</pre>';die();
$data = json_decode($request->get('data'), true);
$data = collect($data['data']);
$this->validate($data, [
'id'=>'required|numeric',
'quantity'=>'required|numeric',
]);
$input = $data->only('id', 'quantity','request_date');
...
}
}

Результат echo '<pre>';print_r($request->get('data'));echo '</pre>';die(); как это :

{ «Данные»: { «идентификатор»: 46, «количество»: 1, «всего»: 100000, «информация»: «челси», «название»: «опасности», «request_date»: «14-08-2017
16:26:00 «},» истек «:» 2017-08-14T06: 27: 00.738Z «}

Если код выполнен, существует ошибка, подобная этой:

Ошибка типа: аргумент 1 передан
App \ Http \ Controllers \ Controller :: validate () должен быть экземпляром
Осветить \ Http \ Request, …

Как я могу решить ошибку?

0

Решение

Первый параметр передан validate должен быть примером Illuminate\Http\Request,

Так что вам нужно пройти $request Возражать validate метод в качестве первого параметра, как это

$this->validate($request, [
'validation' => 'rules',
]);

Если вы получаете ввод как JSON, убедитесь, что Content-Type заголовок запроса установлен в application/json

Пример jQuery ajax

$.ajax({
url: url,
type: 'POST',
data: {
'id': 'value',
'quantity': 'value'
},
dataType: 'json',
contentType: 'application/json'
});
1

Другие решения

Если вы используете use Request; в вашем контроллере, а затем заменить его,

use Illuminate\Http\Request;
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector