2016-09-19 20 views
0

在我的數據庫中,我的日期字段的格式爲Y-m-d H:i:s。我想要的是,在數據庫中添加新項目時,此日期總是比此時更大。我檢查這個與laravel的驗證:使用Laravel 5驗證郵件的格式日期

Validator::make->($request->all(), [ 'date'=>'date|after:'.date(Y-m-d H:i:s) ]);

的問題是,我的網頁是在不同的語言,每一種語言都有不同的日期格式。有時我需要默認格式,有時我想要d.m.Y H:i:s,依此類推。 我在resources/lang目錄中對不同語言進行了翻譯。對於驗證,我翻譯了現有的validation.php文件,但問題是,我不知道如何格式化日期,如果這種方法甚至可能。現在,我的日期總是默認格式,我比較我的輸入。我validation.php文件看起來像這樣:

<?php 

return [ 
    'after' => 'The :attribute must be a date after :date.' 
]; 

我現在的問題是,如何格式化:date屬性。任何幫助,將不勝感激。

我已經試過:

'after' => 'The :attribute must be date after'.date(format, strtotime(':date')) 

但它不會做任何事情。

回答

0

日期將總是傳遞給PHP strtotime函數。

要使日期始終大於此刻,您可以簡單地使用術語現在。 Laravel使它非常簡單,如下所示。

Validator::make->($request->all(), [ 
'date'=>'date|after:now' 
]); 
+0

謝謝你的回答,但這實際上並不是我要找的。我的驗證正常工作,我遇到的問題是在驗證消息中格式化日期。即使我使用你的方法,並且現在放入屬性並翻譯它,驗證消息仍然會返回:日期與現在一樣。 – Grof

+0

如果「現在」被翻譯,我會感到滿意,但我仍然更喜歡acutal date。 – Grof