2016-12-27 71 views
2

我使用Laravel 5.3驗證事件的start_date和end_date。 end_date應該等於start_date或之後的日期。 end_date >= start_dateLaravel 5.3日期驗證程序:等於或等於start_date

$validator = Validator::make($data, [ 
    'start_date' => 'required|date', 
    'end_date'  => 'required|date|after:start_date', 
]); 

我試圖後使用,但它僅適用於END_DATE> START_DATE。 當然,我可以使用Validator::extend添加自定義規則,但是我想知道是否可以在不添加自定義規則的情況下執行此操作。

有什麼方法可以添加否定規則或添加> =規則?

感謝

+0

不是一個合適的解決方案,但如果你不想創建自定義驗證,你可以從開始日期減去1天,然後在 –

+0

之後使用驗證那麼,你可以用start_at - 1天做一個新變量,也許不理想,但它應該工作正常。 –

+0

感謝您的建議,但我們可以不用兩次調用驗證器方法嗎? –

回答

2
$validator = Validator::make($data, [ 
    'start_date' => 'required|date', 
    'end_date'  => 'required|date|after_or_equal:start_date', 
]); 

使用after_or_equal 通過SUJIRAJ [R

0

其實,你也可以使用after_or_equalbefore_or_equal當你至少唱Laravel版本5.3.31。這可能有助於避免升級到更高版本的Laravel。

相關問題