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

Как мы можем показать сообщение об ошибке проверки в Laravel где у нас есть входной массив как:

<input type="text" name="start_time[]" class="form-control start_time" value="" >

так как,
start_time => 'required',
здесь не работает

0

Решение

Вы должны попробовать это:

$validator = Validator::make($request->all(), [
"start_time.*"  => "required",
]);

Обновленный ответ

$validator = $request->validate([
"start_time"    => "required|array|min:10",
"start_time.*"  => "required",
]);
1

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

Ваше правило должно быть таким:

'start_time.*' => 'required'

Я проверил вашу ситуацию с деталями ниже, и все работало нормально.

Посмотреть :

<form action="{{ route('test.store') }}" method="post">
{{ csrf_field() }}

<input type="text" name="start_time[]" class="form-control start_time" value="" >

<input type="text" name="start_time[]" class="form-control start_time" value="" >

<button type="submit" class="btn btn-primary">Submit</button>
</form>

@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif

контроллер:

public function store(Request $request)
{
$request->validate([
'start_time.*' => 'required'
]);

ошибки, когда форма пуста:

The start_time.0 field is required.
The start_time.1 field is required.
0

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