|string> */ public function rules(): array { return [ 'auditioned_ensemble_id' => ['required', 'exists:auditioned_ensembles,id'], 'instrument_id' => ['required', 'exists:instruments,id'], 'set' => [ 'required', 'numeric', 'min:1', function ($attribute, $value, $fail) { /** @noinspection PhpUndefinedFieldInspection */ $ensemble = AuditionedEnsemble::find($this->audtioned_ensemble_id); if ($ensemble && $value > $ensemble->set_count) { $fail("The set number cannot exceed {$ensemble->set_count} for this ensemble."); } }, ], 'file_upload' => ['required', 'file', 'mimes:pdf', 'mimetypes:application/pdf', 'max:51200'], ]; } }