首页 > 解决方案 > 如何将 Laravel 自定义验证规则优先于默认值

问题描述

我有一个自定义验证规则

'title' => ['required', 'min:3', 'unique:transport_locations,title,NULL,id,deleted_at,NULL', new TransportLocationIsInactive],

我想在唯一检查之前运行我的自定义规则

'unique:transport_locations,title,NULL,id,deleted_at,NULL'

问题是它总是首先运行唯一检查并返回“位置名称已被占用”。:-(

标签: laravellaravel-5.7

解决方案


只需更改顺序

'title' => [
    'required', // 1
    'min:3',    // 2
    new TransportLocationIsInactive, // 3
    'unique:transport_locations,title,NULL,id,deleted_at,NULL', // 4
],

推荐阅读