#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 ... ")]
атрибут в propertyselectedItems
(и удалите@multiple = true
— который уже был добавленListBoxFor()
методом)4. @StephenMuecke работает как шарм, большое спасибо!