我有一个显示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;发行:
如果在同一个月插入了开始日期和end_date,则更新可以工作。
但是,如果所选的start_date位于所选end_date的不同月份,则始终会出现一个错误,说明日期格式无效。
你知道为什么吗?
发布于 2018-08-26 07:48:20
我认为这可能是一个日期格式问题。
在您提供的示例中,日期格式有一些不一致之处.
输出:d-m-y - H:i
您可以使用:j-m-y - H:i验证
您还没有说明JS日期选择器所提供的格式!
您需要确保在PHP和前端JavaScript中的应用程序的所有元素中日期格式是一致的。查看http://php.net/manual/en/function.date.php以获得有关PHP格式的帮助。和用于JS日期的formats.asp,尽管我怀疑您需要为您正在使用的日期选择器找到手册。
https://stackoverflow.com/questions/52022269
复制相似问题