$fields */ protected function guardPublication(Validator $validator, string $permission, array $fields): void { $validator->after(function (Validator $validator) use ($permission, $fields): void { if ($this->user()?->can($permission)) { return; } foreach ($fields as $field) { if ($this->has($field)) { $validator->errors()->add($field, __('rules.publication.forbidden')); } } }); } }