Мой код для проверки данных, как это:
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 по-прежнему неверны
Как я могу сделать это правильно?
Вы можете попробовать использовать …
$dataCache = json_decode($request->data_cache);
$request->merge(['id' => $dataCache.dataCache.id, 'quantity' => $dataCache.dataCache.quantity]);
Затем перейдите к методу $ validate, как и раньше.
Есть поле, которое проверяет, является ли проверяемое поле данных допустимой строкой json или нет, но это не то, что вам нужно.
Других решений пока нет …