シンプルな日付形式 mm/dd/yyyy の検証だけで十分です...
$rules = array(
'renewal_date' => array('required', 'date_format:?')
);
日付形式を何に設定すればよいですか? Laravel のドキュメントは、はるかに優れている可能性があります。
シンプルな日付形式 mm/dd/yyyy の検証だけで十分です...
$rules = array(
'renewal_date' => array('required', 'date_format:?')
);
日付形式を何に設定すればよいですか? Laravel のドキュメントは、はるかに優れている可能性があります。
ドキュメントは私にはかなり明確です。使用する必要があります
date_format:形式
「検証中のフィールドは、date_parse_from_format PHP 関数に従って定義された形式と一致する必要があります。」
それを見る: http://php.net/manual/en/function.date-parse-from-format.php、次のようなことができることがわかります:
$rules = array(
'renewal_date' => array('required', 'date_format:"m/d/Y"')
);
これは純粋な PHP テストです。
print_r(date_parse_from_format("m/d/Y", "04/01/2013"));
Laravel で手動でテストすることもできます。
$v = Validator::make(['date' => '09/26/13'], ['date' => 'date_format:"m/d/Y"']);
var_dump( $v->passes() );
私にとってそれは印刷です
真偽値
同様の問題が発生しましたが、ad/m/Y 日付形式です。私の場合、問題は、同じフィールドに「date」と「date_format」の両方のルールを定義したことです。
public static $rules = array(
'birthday' => 'required|date|date_format:"d/m/Y"',
...
解決策は、「日付」バリデーターを削除することです。両方を使用することはできません。このような:
public static $rules = array(
'birthday' => 'required|date_format:"d/m/Y"',
...
その後、すべて順調です。
date_format がうまくいかなかったので、このカスタム検証を行いました
Validator::extend('customdate', function($attribute, $value, $parameters) {
$parsed_date = date_parse_from_format ( "Y-m-d" , $value);
$year = $parsed_date['year'];
$month = $parsed_date['month'];
$month = $month <= 9 ? "0" . $month : $month;
$day = $parsed_date['day'];
$day = $day <= 9 ? "0" . $day : $day;
return checkdate($month, $day, $year);
});
$validation = Validator::make(
array('date' => $num),
array('date' => 'customdate')
);
PHP date_parse_from_format
(Laravel 4)を使用します。
'birthday' => 'date_format:m/d/Y'
検証メッセージも"m/d/Y"
、平均的なユーザーには理解できないものを使用します。
誕生日が m/d/Y の形式と一致しません
この無効な応答に対してメッセージをカスタマイズすることをお勧めします。 誕生日が mm/dd/yyyy の形式と一致しません
出典:ここをクリック
のように使用できます
$rules = [
'start_date' => 'date_format:d/m/Y|after:tomorrow',
'end_date' => 'date_format:d/m/Y|after:start_date',
];