【问题标题】:Validate yyyy-mm input in Laravel在 Laravel 中验证 yyyy-mm 输入
【发布时间】:2020-01-15 12:56:47
【问题描述】:

我正在一个收集工作历史日期的网站上工作,在这种情况下,我们不想收集一天,只是年和月,我使用的是 jquery datepicker,例如日期:2020-10( yyyy-mm)。

我一直试图为 Laravel 找到一个验证规则但没有成功,我假设这应该是一个自定义验证器,但我不知道从哪里开始。

【问题讨论】:

标签: jquery laravel laravel-5


【解决方案1】:

date_format:format

验证中的字段必须与给定格式匹配。验证字段时应该使用date 或date_format,而不是两者。此验证规则支持 PHP 的 DateTime 类支持的所有格式。


$validator = Validator::make(
    ['date' => '2020-10'], 
    ['date' => 'date_format:Y-m']
);

$validator->passes(); // TRUE

【讨论】:

  • 感谢您的回复,我正在测试您的规则。只有选择了另一个字段,请查看我的规则:“busy_sudying_start_date”=>'所需_ ey:sendation_status,busy_sudying | date_fr_sudying | date_format:y-m'。我怎样才能使这个新规则有条件?
  • 添加 nullable 对我有用。 'busy_studying_start_date' => 'required_if:education_status,busy_studying|nullable|date_format:Y-m
【解决方案2】:

您可以使用正则表达式验证您的日期

$request->validate([
    'date' => 'bail|required|regex:/([12]\d{3}-(0[1-9]|1[0-2]))/',
]);

【讨论】:

    猜你喜欢
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2019-02-23
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多