Laravel - 日期验证与规则集中的日期

时间:2014-06-05 14:18:33

标签: validation laravel laravel-4

我正在尝试使用after验证规则验证两个日期以确保一个日期大于另一个日期。我的规则设置如下:

$rules = array(
 'date_from' => 'required|date_format:"d/m/Y"', 
 'date_to'   => 'required|date_format:"d/m/Y"|after:date_from',
 // more rules ...
);

使用以下值时: date_from =“01/06/2014”和date_to =“01/06/2014”或date_to =“2014年12月12日”一切都很笨拙,但是..使用任何超过12天的事情都会失败,即date_to =“13/06/2014”至date_to =“2014年6月31日”

我也尝试了这个,它给出了相同的结果:

$dateFromForm = Input::get('date_from');

$rules = array(
 'date_from'  => 'required|date_format:"d/m/Y"', 
 'date_to'    => 'required|date_format:"d/m/Y"|after:' . $dateFromForm,
);

很明显,我正在读这个月的日子,任何想法我在这里做错了吗?

由于

1 个答案:

答案 0 :(得分:6)

如果你看一下Laravel文档 - 它说

  

日期将传递给PHP strtotime函数。

strtotime的问题在于它假设您使用m/d/Y。如果您需要d/m/Y - 您需要将其更改为d-m-Y才能正确解析。

因此,请将日期格式更改为d-m-Y,然后才能生效。