Laravel 验证日期与格式不匹配
Laravel Validation Date does not match the format
我正在尝试验证 Laravel 中的日期。我在前端使用 datepicker
,其中 JavaScript 以这种格式将日期发送到服务器 Laravel dd-MMMM-yy
:
$scope.formData.dob = $filter('date')(scope.formData.dob, 'dd-MMMM-yy');
我的 laravel 有这样的验证:
$validator = Validator::make($postData, [
'dob' => 'date_format:"dd-MMMM-yy"',
]);
但是验证器一直说日期与格式不匹配 dd-MMMM-yy
:
The dob does not match the format dd-MMMM-yy.
我认为这可能与格式类型有关,所以我尝试将其更改为不同的格式,如 d/m/y、dd-mm-yyyy 等。在 JavaScript 日期和 Laravel 日期验证,但一切都一直在说日期不匹配的相同错误。输出看起来不错,而且是我在验证中提到的格式。我不明白为什么 Laravel 验证失败。
我是不是漏掉了什么?
您使用的格式有误。您需要使用标准的 PHP 格式,Carbon
和 Laravel 的验证都使用这种格式。您可以在 date()
的 PHP 文档中找到它们
你真正想要的是d-F-y
,我相信。
我正在尝试验证 Laravel 中的日期。我在前端使用 datepicker
,其中 JavaScript 以这种格式将日期发送到服务器 Laravel dd-MMMM-yy
:
$scope.formData.dob = $filter('date')(scope.formData.dob, 'dd-MMMM-yy');
我的 laravel 有这样的验证:
$validator = Validator::make($postData, [
'dob' => 'date_format:"dd-MMMM-yy"',
]);
但是验证器一直说日期与格式不匹配 dd-MMMM-yy
:
The dob does not match the format dd-MMMM-yy.
我认为这可能与格式类型有关,所以我尝试将其更改为不同的格式,如 d/m/y、dd-mm-yyyy 等。在 JavaScript 日期和 Laravel 日期验证,但一切都一直在说日期不匹配的相同错误。输出看起来不错,而且是我在验证中提到的格式。我不明白为什么 Laravel 验证失败。
我是不是漏掉了什么?
您使用的格式有误。您需要使用标准的 PHP 格式,Carbon
和 Laravel 的验证都使用这种格式。您可以在 date()
你真正想要的是d-F-y
,我相信。