在 laravel nova 验证中检查 to_date 之前的 from_date 和 from_date 之后的 to_date,以及今天之前的两个日期

Posted

技术标签:

【中文标题】在 laravel nova 验证中检查 to_date 之前的 from_date 和 from_date 之后的 to_date,以及今天之前的两个日期【英文标题】:Check from_date before to_date and to_date after from_date, also both dates before today in laravel nova validation 【发布时间】:2019-05-14 17:52:30 【问题描述】:
return [

            Date::make('From Date')
                ->sortable()
                ->rules('required', 'date', 'date_format:Y-m-d', 'before:'.date('Y-m-d').''),

            Date::make('To Date')
                ->sortable()
                ->rules('required', 'date', 'date_format:Y-m-d', 'before:'.date('Y-m-d').''),

        ];

以上是我的代码,我有以下验证要求:

从日期

    日期格式 Y-m-d

    过去

    迄今为止

迄今为止

    日期格式 Y-m-d

    过去

    自日期之后

如何在 laravel nova 字段 make rules 属性中同时添加两个验证?在 to_date 之前的日期和今天之前的日期也是如此。

提前致谢。

【问题讨论】:

【参考方案1】:

您可以将所有 Laravel 验证规则附加到 Nova 资源字段。

试试下面的代码,

验证参考:After date, Before date

return [
    Date::make('From Date') 
        ->sortable() 
        ->rules('required', 'date', 'date_format:Y-m-d', 'before:today', 'before:to_date'), 

    Date::make('To Date') 
        ->sortable() 
        ->rules('required', 'date', 'date_format:Y-m-d', 'before:today', 'after:from_date'), 
 ];

【讨论】:

该字段是 To Date ,这适用于 to_date 吗?我之前尝试过:To Date,但有时会奏效,有时会失败。不知道为什么。 @ShraddhaBanerjee to_date 应该可以工作,如果那是模型属性名称。你能提供一些有效和无效的测试用例吗 我使用的字段名称是“To Date”、“From Date”,而我应该使用“to_date”、“from_date”。谢谢@Saumini Navaratnam :)

以上是关于在 laravel nova 验证中检查 to_date 之前的 from_date 和 from_date 之后的 to_date,以及今天之前的两个日期的主要内容,如果未能解决你的问题,请参考以下文章

php 在Laravel Nova资源中覆盖标签

Laravel Nova Resource,在布局中组合字段?

Laravel Nova 中的自定义 Vue 组件

如何将 Vuex 添加到我的 Laravel Nova 工具中?

在使用 Laravel 进行验证期间检查输入中是不是存在字段

如何在 laravel nova 管理面板中定义时间字段