Проверка Laravel для входных данных динамической формы?

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

В столбце таблицы у меня есть инертный ввод данных формы, добавление динамического поля формы im с использованием vueJs:

<tr v-for="row in rows">
 <td>{!! Form::text('description[]',null,['class' => 'input-field input-sm','v-model'=>'row.description']) !!}
@if ($errors->has('description'))
       <span class="error"><i class="glyphicon glyphicon-warning-sign" data-toggle="tooltip" data-placement="top" title="{{ $errors->first('description') }}"></i></span>@endIf</td>
<td>{!! Form::text('log_time[]',null,['class' => 'input-field input-sm','v-model'=>'row.log_time']) !!}
      @if ($errors->has('log_time'))<span class="error"><i class="glyphicon glyphicon-warning-sign" data-toggle="tooltip" data-placement="top" title="{{ $errors->first('log_time') }}"></i></span>@endIf </td>
<td> <a @click="removeRow(row)"><button class="btn btn-danger" type="button" id="dim">
            <span class="glyphicon glyphicon-minus"></span></button> </a>
             <a @click="addRow"><button class="btn btn-success" type="button" id="dim">
              <span class="glyphicon glyphicon-plus"></span></button></a>
</td>
</tr>

Функция хранения моего контроллера:

protected $rules = [
        'row.description' => ['required|array'],
        'row.log_time' => ['required|array'],
    ];
public function store(PslCall $call,Request $request)
    {
        $this->validate($request, $this->rules);
        $data = array();
        foreach($request->description as $key=>$value){
            $data[]=[
                'description'=> $value,
                'log_time'=> $request->log_time[$key],
                'call_id'=>$call->id,
                'created_at' => Carbon::now(),
                'updated_at' => Carbon::now(),
            ];
        }

        PortLog::insert($data);
        return Redirect::route('calls.logs.index',$call->id)->with('message','You have successfully submitted');
    }

здесь вы можете проверить мой dd() без ввода я могу вставить:(для этого я должен дать подтверждение;

array:2 [▼
  0 => array:5 [▼
    "description" => ""
    "log_time" => ""
    "call_id" => 2
    "created_at" => Carbon {#351 ▶}
    "updated_at" => Carbon {#352 ▶}
  ]
  1 => array:5 [▼
    "description" => ""
    "log_time" => ""
    "call_id" => 2
    "created_at" => Carbon {#353 ▶}
    "updated_at" => Carbon {#354 ▶}
  ]
]

1 ответ

Есть проблема с вашим $rules Попробуй это

protected $rules = [
        'description.*' => 'required|min:1',
        'log_time.*' => 'required|min:1',
    ];
Другие вопросы по тегам