This can be done, but the tricky part is figuring out how to display the error since there are so many fields to consider. Which field should get the validation error message, or should they all? Or do you want to have this error displayed separately?
I think I'd use a regular validator instance to do all of your normal validation, and then use an after hook to do your custom validation, and make a new "field" to display that special error.
// all of your regular validation
$validator = Validator::make(...);
// special validation for your complex unique rule
$validator->after(function ($validator) {
// create a query to see if this record already exists.
$exists = YourModel::where('param1', $request->param1)
->where(more conditions from $request)
->where(more conditions)
->exists();
if ($exists) {
$validator->errors()->add('specialField', 'The combination of blah blah fields must be unique');
}
});
And then in your view, just display the error message for specialField separately, like after your other fields. It wouldn't be an actual form field.
https://laravel.com/docs/5.7/validation#after-validation-hook