Laravel 5中的日期验证和日期数据库插入

时间:2019-01-20 20:53:51

标签: date post laravel-5

我在数据库中有一个promo_starts_at类型的promo_ends_atdate字段 通过引导日期选择器以以下格式01/20/2019

输入日期
  "promo_starts_at" => "01/22/2019"
  "promo_ends_at" => "01/30/2019"

我的ProductManager中有以下规则集:

if($parameters['type'] == 'integer'){ $data[$field] = intval($request->input($field)); }
if($parameters['type'] == 'string'){ $data[$field] = $request->input($field); }
if($parameters['type'] == 'decimal'){ $data[$field] = $request->input($field); }
if($parameters['type'] == 'text'){ $data[$field] = $request->input($field); }
if($parameters['type'] == 'bool'){ $data[$field] = $request->input($field) ? 1 : 0; }
if($parameters['type'] == 'date'){ $data[$field] =  date('Y-m-d', strtotime($request->input($field))); }

此外,我还有一组验证规则:

    'promo_starts_at' => [
        'type' => 'date',
        'validation' => 'date'
    ],
    'promo_ends_at' => [
        'type' => 'date',
        'validation' => 'date'
    ]

由于某种原因我无法将日期发布到数据库中。

我还尝试了不同的验证规则,例如date_format:Y-m-d|after:today,但没有任何变化。

我已找到解决此问题的方法,最后一条规则应更改为以下内容:

$data[$field] =  date('Y-m-d', strtotime($request->input($field)));

这为我解决了这个问题。

1 个答案:

答案 0 :(得分:0)

我已找到解决此问题的方法,最后一条规则应更改为以下内容:

$data[$field] =  date('Y-m-d', strtotime($request->input($field)));

这为我解决了这个问题。