我的模型有以下验证和规则:
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;
}
所以我的问题是设置有问题吗?如果不是date
或date_format
验证的重点,如果我必须手动执行它。