多次发送相同的值

时间:2018-10-25 07:51:19

标签: php html laravel laravel-5 laravel-5.2

我只想用一种形式保存多个序列号。举例来说,这意味着您有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 :(得分:0)

首先,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'
});

因此序列名称应该是一个至少包含一项的数组。

相关问题