Отправка одного и того же значения несколько раз - PullRequest
0 голосов
/ 25 октября 2018

Я хочу сохранить несколько серийных номеров только с одной формой.Это означает, что в качестве примера у вас есть 4 поля ввода, где вы можете сканировать эти серийные номера 1 поле обязательно для заполнения, остальные поля не нужно заполнять, это выглядит так:

public function store(Request $request)
{
    $this->middleware('guest');

    request()->validate([
      'serialnumber' => 'required',
      'serialnumber',

      'member_id' => 'required'
    ]);

    Ausleih::create($request->all());


    return redirect()->route('borrow.index');

}

Итак, следующий шагвид, откуда поступает ввод:

 <div class="card-body">
    <form method="POST" action="{{ route('borrow.store') }}">
        @csrf

        <div class="form-group row">
            <label for="serialnumber" class="col-md-4 col-form-label text-md-right">{{ __('Scan serialnumber') }}</label>

            <div class="col-md-6">
                <input id="serialnumber" type="text" class="form-control{{ $errors->has('serialnumber') ? ' is-invalid' : '' }}" name="serialnumber" value="{{ old('serialnumber') }}" required autofocus>
                <br>
                <input id="serialnumber" type="text" class="form-control{{ $errors->has('serialnumber') ? ' is-invalid' : '' }}" name="serialnumber" value="{{ old('serialnumber') }}" autofocus>

                @if ($errors->has('serialnumber'))
                    <span class="invalid-feedback">
                        <strong>{{ $errors->first('serialnumber') }}</strong>
                    </span>
                @endif
            </div>
        </div>
        <div class="form-group row">
          <label for="member_id" class="col-md-4 col-form-label text-md-right">{{ __('Scan your member card') }}</label>
          <div class="col-md-6">

            <input id="member_id" type="password" class="form-control" name="member_id" required>


            @if ($errors->has('member_id'))
            <span class="invalid-feedback">
              <strong>{{ $errors->first('member_id') }}</strong>
            </span>
            @endif
        </div>
      </div>
      <div class="form-group row mb-0">
            <div class="col-md-6 offset-md-4">
                <button type="submit" class="btn btn-primary">
                    {{ __('send') }}
                </button>
            </div>
        </div>
    </form>
</div>

Как видите, я только что создал другое поле ввода, чтобы сохранить более одного серийного номера.Проблема в том, что я просто получаю одно значение, а не оба могут мне помочь с этим?Что я должен изменить?

1 Ответ

0 голосов
/ 25 октября 2018

Прежде всего атрибут id должен быть уникальным в одном и том же документе, поэтому удалите дубликаты или замените их общими классами.

Вам необходимо использовать имя в качестве массива, например name='serialnumber[]'затем в вашем store цикле действий через них, например:

foreach($request->serialnumber as $serialnumber){
   //Use every $serialnumber as you want here
}

Ваша проверка может быть такой:

$request->validate([
    'serialnumber' => 'required|array|min:1',
    'member_id'    => 'required'
});

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

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