Laravel 自定义规则(如果之前的规则通过)

Laravel custom rule if previous rules passed

请求rules()我有

public function rules()
{
    return [
        'files' => ['nullable', 'array'],
        'files.*' => ['file','max:256000', new PostFiles],
        'body' => 'nullable|string',
        'public' => 'boolean',
    ];
}

我需要 PostFiles 规则只有在所有其他关于文件的检查都通过时才被执行。 现在如果我将发送字符串文件数组并且我不想复制 'file','max:256000'passes(){} 方法中签入 PostFiles,我会收到错误消息。

Laravel 7

找到解决方案:

只需添加 bail

https://laravel.com/docs/8.x/validation#stopping-on-first-validation-failure