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

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

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

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

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

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

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

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

$validator = $request->validate([
    "start_time"    => "required|array|min:10",
    "start_time.*"  => "required",
]);
0 голосов
/ 12 ноября 2018

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

'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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...