|string> */ public function rules(): array { return [ 'user_id' => 'required|exists:users,id', 'exam_id' => [ 'required', 'exists:exams,id', function ($attribute, $value, $fail) { if (ExamEnrollment::where('user_id', $this->user_id) ->where('exam_id', $value) ->exists() ) { $fail('This user is already enrolled in this exam.'); } }, ], 'enrollment_type' => 'required|string|in:free,paid', ]; } }