I have next function in request :
public function withValidator($validator)
{
$validator->after(function ($validator) {
$dates = request()->get('start_at');
foreach($dates as $date){
if(isset($date)){
$startAt = Carbon::parse($date);
$endAt = $startAt->copy()->addMinutes(request()->get('duration') - 1);
$userId = request()->get('teacher_id');
$slotService = new SlotService();
$id = ! empty($this->route('lesson')) ? $this->route('lesson')->id : null;
if ($slotService->getTeacherLessons($userId, $startAt, $endAt, $id)->count() > 0) {
$validator->errors()->add('teacher_id', 'У данного учителя в этот период уже запланирован урок');
}
if (! $slotService->checkSlotIsAvailable($userId, $startAt, $endAt)) {
$validator->errors()->add('teacher_id', 'У данного учителя в этот период нет свободных часов');
}
}
}
});
}
How to fix it, and that's my html code :
<div class="form-group">
{{ Form::label('start_at', trans('admin.date_start'), ['class' => 'col-sm-3 control-label no-padding-right']) }}
<div class="col-sm-8">
<div class="input-group">
<input type="text" name="start_at[]" id="start_at" class="form-control date-picker"
data-date-format="DD.MM.Y HH:mm"
value="{{ isset($data) ? $data->start_at->format('d.m.Y H:i') : old('start_at', now()->format('d.m.Y H:i')) }}" />
</div>
</div>
</div>