Laravel 5.1 - 日期验证&属性转换

时间:2017-08-02 00:53:39

标签: php laravel laravel-5 octobercms

我的模型有以下验证和规则:

public $rules = [
    'hire_date'     => 'date|required|required_with:dismiss_date',
     OR
    'hire_date'     => 'date_format:"Y-m-d"...',
];

protected $casts = [
    //'hire_date'     => 'date' ,
    'dismiss_date'    => 'date' ,
];

// Or 

protected $dates = [ 
    'hire_date'   
];

如果我投出雇用日期或任何其他日期字段,则抛出异常,就好像验证没有检查格式一样; e.g 2017-08-AA

  

无法找到两位数的小时“在第582行找不到数据   ..... nesbot \碳\ SRC \碳\ Carbon.php

如果我删除了日期的属性强制转换,则验证按预期工作并抛出验证异常。保持强制转换的一种解决方法是对所有日期字段使用mutator

public function setHireDateAttribute ( $date )
{
    $this->attributes['hire_date']   =   TZ::isValidateDate($date) ? $date : null;
}

所以我的问题是设置有问题吗?如果不是datedate_format验证的重点,如果我必须手动执行它。

0 个答案:

没有答案