【问题标题】:Laravel Validation Date does not match the formatLaravel 验证日期与格式不匹配
【发布时间】:2015-08-19 03:16:06
【问题描述】:

我正在尝试在 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的格式不匹配:

dob 与 dd-MMMM-yy 格式不匹配。

我认为这可能与格式类型有关,所以我尝试在 JavaScript 日期和 Laravel 日期验证中将其更改为不同的格式,如 d/m/y、dd-mm-yyyy 等,但一切都在说日期不匹配的相同错误。输出看起来不错,而且是我在验证中提到的格式。我不明白为什么 Laravel 验证失败。

我错过了什么吗?

【问题讨论】:

    标签: laravel laravel-5 date-format laravel-5.1 laravel-validation


    【解决方案1】:

    您使用了错误的格式。你需要使用标准的 PHP 格式,这是 Carbon 和 Laravel 的验证所使用的。您可以在date() 的 PHP 文档中找到它们

    我相信你真正想要的是d-F-y

    【讨论】:

    • 嗯。那讲得通。我现在试一试并回帖
    • 完美。这样可行!太感谢了。我整个晚上都被困在这上面!
    • @Neel 没问题。请务必阅读我链接的date() 的文档。 PHP 的日期格式与您在 Javascript 和许多其他语言/库中所习惯的完全不同。
    猜你喜欢
    • 2018-06-11
    • 2017-05-20
    • 2015-02-24
    • 2014-04-18
    • 2020-11-10
    • 2018-10-21
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多