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

文章目录

    被测试组报了一个 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式