Как проверить, что IEnumerable не является нулевым или пустым, используя DataAnnotations?

#asp.net-mvc-4

#asp.net-mvc-4

Вопрос:

Я пытаюсь проверить, что IEnumerable<long> selectedItems if не имеет значения null или empty, но я не могу этого сделать, у него должен быть выбран один или несколько параметров, потому что это множественный параметр. Как я мог это сделать?

пытаюсь.

Модель

 public class EmpresaModel{

    public IEnumerable<SelectListItem> formasPagto { get; set; }

    [Required(ErrorMessage = "Choose one or more options")]
    public IEnumerable<long> selectedItems { get; set; }
}
  

HTML

 <div class="form-group">
         <label for="@Html.IdFor(model => model.selectedItems)" class="cols-sm-2 control-label">Formas de pagamento disponíveis <img src="~/Imagens/required.png" height="6" width="6"></label>
           @Html.ListBoxFor(model => model.selectedItems, Model.formasPagto, new { Class = "form-control", placeholder = "Selecione as formas de pagamento disponíveis", @multiple = true})
           @Html.ValidationMessageFor(model => model.formasPagto)
</div>
  

Комментарии:

1. Вы не можете использовать аннотации данных проверки для свойств, типизированных IEnumerable<T>.

2. @NagarajRaveendran Итак, как я мог бы проверить это свойство? Мне нужно проверить, не пусто ли оно, потому что пользователю нужно выбрать один или несколько параметров. Есть идеи?

3. Просто добавьте [Required(ErrorMessage="Please select at least one ... ")] атрибут в property selectedItems (и удалите @multiple = true — который уже был добавлен ListBoxFor() методом)

4. @StephenMuecke работает как шарм, большое спасибо!