У меня есть страница редактирования, которая показывает поля start_date и end_date. Поля похожи на:
<div class="form-row">
<div class="form-group col-md-6">
<label for="start_date">Start date</label>
<div class="input-group date" data-provide="datepicker">
<input type='text' onkeydown="event.preventDefault()" name="start_date"
value="{{!empty($c->start_date)? $c->start_date->format('d-m-y - H:i') : ''}}"
class="form-control" placeholder="DD/MM/YYY"/>
<span class="input-group-addon"><i class="fa fa-calendar" aria-hidden="true"></i></span>
</div>
</div>
<div class="form-group col-md-6">
<label for="end_date">End date</label>
<div class="input-group date" data-provide="datepicker">
<input type='text' class="form-control"
value=" {{!empty($c->end_date) ? $c->end_date->format('d-m-y - H:i') : ''}}" name="end_date" placeholder="DD/MM/YYY"/>
<span class="input-group-addon"><i class="fa fa-calendar" aria-hidden="true"></i></span>
</div>
</div>
</div>
Тогда для проверки используется:
'start_date' => 'nullable|date_format:"j-m-y - H:i"',
'end_date' => 'nullable|date_format:"j-m-y - H:i"|after_or_equal:start_date',
Тогда для обновления используется:
$conference->start_date = (isset($request->start_date)) ? Carbon::createFromFormat('j-m-y - H:i', $request->start_date) : null;
$conference->end_date = (isset($request->end_date)) ? Carbon::createFromFormat('j-m-y - H:i', $request->end_date) : null;
Выпуск:
Обновление работает, если вставлена дата начала и дата окончания в одном месяце.
Но если выбранная начальная дата находится в другом месяце от выбранной конечной даты, всегда появляется ошибка, говорящая о том, что формат даты недопустим.
Знаете почему?