Laravel проверка запроса пропускает значение массива - PullRequest
0 голосов
/ 17 марта 2020

Как проверить значения в массиве из запроса? У меня есть следующие правила

 public function rules()
    {
        return [
            'firstname.*'  => ['required', 'string', 'max:45'],
            'surname.*'  => ['required', 'string', 'max:45'],
            'email.*'  => ['required', 'string', 'email', 'max:45'],
            'phonenumber.*'  => ['required', 'string', 'max:45'],
            'name' => ['required', 'string', 'max:45', 'unique:organisations'],
            'info' => ['required', 'string'],
            'address' => ['required', 'string', 'max:45'],
            'housenumber' => ['required', 'string', 'max:10'],
            'postalcode' => ['required', 'string', 'max:7'],
            'place' => ['required', 'string', 'max:45'],
            'password' => ['required', 'confirmed']

        ];

имя, фамилия, адрес электронной почты и номер телефона - это массивы со следующим вводом

<input name="firstname[]">
<input name="surname[]">
<input name="email[]">
<input name="phonenumber[]">

Другое поле проверки работает нормально. Я попробовал ответ из этого поста: Как проверить массив в Laravel?

, однако он не работает для меня. Что я пропускаю или делаю неправильно?

1 Ответ

0 голосов
/ 17 марта 2020

хорошо, проверка работала, но мне пришлось получить доступ к моему массиву с точкой, за которой следует индекс, вместо использования традиционного [индекса] для доступа к элементам массива. Таким образом, ввод теперь выглядит так:

input id="firstname" type="text" class="form-control @error('firstname.0') is invalid @enderror" name="firstname[]" value="{{ old('firstname.0') }}" autofocus>

    @error('firstname.0')
      <span class="invalid-feedback" role="alert">
         <strong>{{ $message }}</strong>
      </span>
    @enderror
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...