Laravel Backpack 增加数据验证:结束日期需晚于起始日期

更新日期: 2017-12-18 阅读次数: 6642 分类: Laravel

被测试组报了一个 Bug,提交表单的时候没有验证结束日期是否晚于起始日期。

修复方法:修改 app/Http/Requests/CouponRequest.php 文件

public function rules()
    {
        return [
            'starttime' => 'required|date',
            'endtime'   => 'required|date|after_or_equal:starttime',
        ];
    }

这里需要参考 Laravel 的 available validation rules 列表 https://laravel.com/docs/5.5/validation#available-validation-rules

务必浏览一遍。

再次提交结束时间早于起始时间的情况,会得到如下错误信息

请修正以下错误:The endtime must be a date after starttime.

默认会是英文的提示,需要定制化错误信息,使其展示为中文

public function messages()
    {
        return [
            "endtime.after_or_equal" => '结束日期必须晚于或等于起始日期',
        ];
    }

再次提交,就能看到中文的提示了

请修正以下错误:结束日期必须晚于或等于起始日期

参考

  • https://laravel.com/docs/5.5/validation#rule-after-or-equal

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式