Arn*_*rne 7 forms formatting localization date laravel
我正在开发一个应用程序,允许用户编辑表单中的多个日期.日期以欧洲格式(DD-MM-YYYY)呈现,而数据库使用默认的YYYY-MM-DD格式.
有几种方法可以将数据从数据库中来回编码/解码到用户,但它们都需要大量代码:
setNameAttribute和getNameAttribute方法进行解码/编码(同样繁琐和丑陋,需要为每个属性提供额外的翻译/规则)那么,从用户那里存储,检索和验证日期和时间的最有效方法是什么?
在某些时候,您必须将日期从视图格式转换为数据库格式.正如您所提到的,有很多地方可以做到这一点,基本上是在后端或前端之间进行选择.
我使用javascript在客户端(前端)进行转换(您可以使用http://momentjs.com来帮助解决此问题).原因是您可能需要不同的格式,具体取决于客户端使用的区域设置(例如,在浏览器中或在其配置文件首选项中设置).在前端进行格式转换可以让您轻松转换为这些不同的日期格式.
另一个优点是,您可以使用protected $dates模型中的属性让Laravel自动处理(获取和设置)这些日期作为Carbon对象,而无需您执行此操作(请参阅https://github.com/laravel/ framework/blob/master/src/Illuminate/Database/Eloquent/Model.php#L126).
至于验证,您需要使用Laravel的日期内置验证规则,如下所示:
'date' => 'required|date|date_format:Y-n-j'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21097 次 |
| 最近记录: |