1

私のデータベースには、フォーマットの日付フィールドがありますY-m-d H:i:s。私が欲しいのは、データベースに新しいアイテムを追加するとき、この日付が常にこの瞬間よりも大きいということです。これをlaravelのバリデーターでチェックします:

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'))

しかし、それは何もしません。

4

2 に答える 2

1

日付は常に PHP の strtotime 関数に渡されます。

date を常にこの瞬間よりも大きくするには、 nowという用語を使用できます。Laravel は以下のようにとてもシンプルにします。

Validator::make->($request->all(), [
 'date'=>'date|after:now'
]);
于 2016-09-19T11:00:43.303 に答える