【发布时间】:2016-11-10 00:42:16
【问题描述】:
我有一个带有日期字段的 Laravel 应用程序。
当我使用“type=text”时
<input type="date" class="form-control" id="startdate" placeholder="Start date" name="startdate" />
我得到了存储在我的数据库中的值。
当我使用“type=date”时
<input type="date" class="form-control" id="startdate" placeholder="Start date" name="startdate" />
我得到 dd/mm/yyyy 和一个下拉列表(日期选择器)来为每个选择一个数字。我本来希望 dd、mm 和 yyyy 会预先填充我数据库中的日期。
虽然 input=text 有效,但我不喜欢这样,因为用户可以在该字段中输入任何文本。
最好的方法是什么?保留 input=date 并修复它还是将其放入 input=text 并进行服务器端验证?
【问题讨论】:
-
为什么您希望日期字段预先填充您数据库中的任何内容?您没有
value来设置初始日期。 -
应该始终执行服务器端验证,因为 html 字段的操作非常容易。我能想到的最好方法是使用 UI 来选择日期,HTML 5 (type=date) 或 jQuery datepicker 插件。提交后,您应该验证服务器端的输入值。 jQuery datepicker 的优点是可以选择输入格式,便于验证。
-
@MarcB 正确,我正在使用 Javascript $('#edit-auction-modal ').find('input#startdate').val(formattedStartDate) 设置该输入字段。它适用于其他非日期字段。
-
确保使用
YYYY-MM-DD格式设置它:stackoverflow.com/questions/14212527/…
标签: javascript php html laravel-5