One option could be to add an additional property to your model which calculates the length of the collection, and then validate against that:
public ICollection<string> Somethings { get; set; }
[Range(1, 9999, ErrorMessage = "At least one Something is required")]
public int SomethingsCount => Somethings == null ? 0 : Somethings.Count;
This seems messy as you're adding an extra property to your model, but if you are lazy then maybe its a good option for you.
A better option, as per the comment by Denis and this answer, you can define your own validation attribute
public class RequiredCollectionAttribute : ValidationAttribute
{
public override bool IsValid(object value) => value is IList list && list.Count > 0;
}
And use it like this
[RequiredCollection(ErrorMessage = "At least one Something is required")]
public ICollection<string> Somethings { get; set; }