Write a custom validation attribute.
I've not tested but try code like this :
public class RequiredArray : ValidationAttribute
{
public override bool IsValid(object value)
{
var list = value as IList;
if (list != null)
{
return list.Count > 0;
}
return false;
}
}
[RequiredArray (ErrorMessage = "Roles is required.")]
public string[] Roles{ get; set; }