Convalida ViewModel per un elenco

Ho la seguente definizione viewmodel

public class AccessRequestViewModel { public Request Request { get; private set; } public SelectList Buildings { get; private set; } public List Persons { get; private set; } } 

Quindi nella mia domanda ci deve essere almeno 1 persona per una richiesta di accesso. Quale approccio potresti usare per convalidare? Non voglio che questa convalida avvenga nel mio controller, cosa che sarebbe semplice da fare. L’unica scelta è un attributo di convalida personalizzato?

Modifica: esegue attualmente questa convalida con FluentValidation (bella libreria!)

 RuleFor(vm => vm.Persons) .Must((vm, person) => person.Count > 0) .WithMessage("At least one person is required");