2016-12-29 16 views
0

私のlaravelアプリケーションでdate_format検証を実行しようとしています。そのAPIと形式で特定のフォーマットに対するlaravelのTImeフォーマットのバリデーション

2015-10-09T12:36:576+01:00 

を日時を取得することは、私が

'createdAt' => "required|date_format:Y-m-d\TH:i:sO", 

を使用してフォーマット "Y-m-d\TH:i:sO"に対してそれをチェックしていた。しかし、検証が失敗したIOS 8601形式であると考えられます。私は日付の形式が間違っていると確信しています(これは公式のPHP文書から得たもので、データの形式はISO 8601ではありません)。誰かが、その日付がどんな形式であるか教えてもらえますか?

ありがとうございます。

+0

これは正規表現かもしれませんが、私は通常、バリデーション配列の外にそれらを定義する必要があります。 –

+1

申し訳ありませんが、これは愚かな質問ですが、あなたの秒の値の3つの数字を持っている? –

+0

@RossWilsonええ、形式が間違っていたようです(数値が間違っていたようです)。正しい形式は2015-10-09T12:36:57 + 01:00です –

答えて

0

日付の形式は+01:00で終わります。 Oと一致するようにしようとしています+0100(コロンなし)

フォーマット仕様を参照してください。種類のめちゃくちゃ何

http://php.net/manual/en/function.date.php

laravelであり、それは正確にあなたの日付を読み取ることができ、日付オブジェクトを作成しますが、それは(:を削除)バックあなたが指定した形式にそれをレンダリングしようとしますその後、明らかに異なっている、オリジナルとの比較:技術的には、両方のこれらの形式のがISO 8601に準拠しているため

https://github.com/laravel/framework/blob/5.4/src/Illuminate/Validation/Concerns/ValidatesAttributes.php#L363

これが問題です。

関連する問題