<?php namespace BookStack\Exports\ZipExports; use Closure; use Illuminate\Contracts\Validation\ValidationRule; class ZipUniqueIdRule implements ValidationRule { public function __construct( protected ZipValidationHelper $context, protected string $modelType, ) { } /** * @inheritDoc */ public function validate(string $attribute, mixed $value, Closure $fail): void { if ($this->context->hasIdBeenUsed($this->modelType, $value)) { $fail('validation.zip_unique')->translate(['attribute' => $attribute]); } } }