При проверке поля ввода массива с использованием Laravel 7 сообщение об ошибке не отображается. - PullRequest
0 голосов
/ 02 мая 2020

Ошибки не отображаются. Не имеет значения, что я положил в поле ввода.

Вот мой файл блейда.

  <input type="text" class="form-control" name="names[]"/>
  @if($errors->has('names'))
    <span class="invalid-feedback d-block" role="alert">
      <strong>{{ $errors->first('names') }}</strong>
    </span>
  @endif

Вот мой контроллер.

public function store(Request $request)
{
  $request->validate([
      'names.*' => 'required|exists:users,name',
  ]);
}

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

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

$request->validate([
  'names' => 'required|array',
  'names.*' =>'required|exists:users,name'
]);
0 голосов
/ 02 мая 2020

Вы можете использовать как это. Я использовал этот собственный тип.

<div class="{{'form-group required'.$errors->first('title',' has-error')}}">
     <label>Title</label>
     <input type="text" name="title[]" class="form-control" required>
     <div class="text-danger">{{$errors->has('title') ? $errors->first('title') : ''}}</div>
</div>

В моем контроллере я использую вот так.

$request->validate([
    'title'    => ['required','array'],
    'title.*'  => ['required','unique:galleries','min:5'],
]);

И это дает мне такую ​​ошибку

Заголовок должен быть строкой.

Заголовок должен содержать не менее 5 символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...