I was able to solve this by using:
public class CreateItemCustomValidation : ValidationAttribute
{
public override bool IsValid(object value)
{
var list = value as List<SingleItem>;
if (list != null)
{
if (list.Where(o => o.ItemName!= null && !String.IsNullOrEmpty(o.ItemName) && !String.IsNullOrWhiteSpace(o.ItemName)).Count() > 0)
{
return true;
}
}
return false;
}
}
The validation works, but the validation is firing before POST