Странно, я не могу воспроизвести вашу проблему.
Модель:
public class MyViewModel
{
[Required(ErrorMessage = "Please select at least one item")]
public string[] SelectedItems { get; set; }
public IEnumerable<SelectListItem> Items
{
get
{
return Enumerable.Range(1, 5).Select(x => new SelectListItem
{
Value = x.ToString(),
Text = "item " + x
});
}
}
}
Контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new MyViewModel());
}
[HttpPost]
public ActionResult Index(MyViewModel model)
{
return View(model);
}
}
Просмотр:
@model MyViewModel
@using (Html.BeginForm())
{
@Html.ListBoxFor(x => x.SelectedItems, Model.Items)
@Html.ValidationMessageFor(x => x.SelectedItems)
<button type="submit">OK</button>
}
Если вы не выберете какой-либо элемент в списке, сообщение об ошибке проверки будет отображаться, как и ожидалось.Если вы выбираете один или несколько элементов, проверка проходит успешно, и сообщение об ошибке не отображается.