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,我相信。