Как я могу проверить данные JSON в Laravel?

Мой код для проверки данных, как это:

public function register(Request $request)
{
//echo '<pre>';print_r($request->all());echo '</pre>';die();
$this->validate($request, [
'email'=>'required',
'password'=>'required',
'data_cache.dataCache.id'=>'required|numeric'
'data_cache.dataCache.quantity'=>'required|numeric'
]);
}

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

Array
(
[data_cache] => {"dataCache":{"id":112,"quantity":1,"information":"stamford bridge","request_date":"15-08-2017 02:30:00"},"expired":"2017-08-14T16:30:26.272Z"}
[email] => chelsea@gmail.com
[password] => 87654321
)

Data_cache это данные json

На блейде вида я добавляю это для отображения проверки сообщения:

@if ($errors->has('data_cache'))
<span class="help-block">
<strong>{{ $errors->first('data_cache') }}</strong>
</span>
@endif

Если код выполнен, проверка сообщения на дисплее не выполняется

Кажется, данные проверки JSON по-прежнему неверны

Как я могу сделать это правильно?

0

Решение

Вы можете попробовать использовать …

$dataCache = json_decode($request->data_cache);

$request->merge(['id' => $dataCache.dataCache.id, 'quantity' => $dataCache.dataCache.quantity]);

Затем перейдите к методу $ validate, как и раньше.

Есть поле, которое проверяет, является ли проверяемое поле данных допустимой строкой json или нет, но это не то, что вам нужно.

1

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

Других решений пока нет …

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