1
我正在遇到一個ASP.NET MVC 3 ListBox驗證奇怪的問題,如標題中所述。基本上,我有一個列表在我的viewmodel,我綁定到一個列表框啓用多個選擇。ASP.NET MVC 3列表框驗證
列表被賦予一個屬性[必需]。當我提交選擇單個值的表單時,它通過了驗證,沒有打嗝。但是,多於一個,驗證就會失敗。
有什麼想法?
我正在遇到一個ASP.NET MVC 3 ListBox驗證奇怪的問題,如標題中所述。基本上,我有一個列表在我的viewmodel,我綁定到一個列表框啓用多個選擇。ASP.NET MVC 3列表框驗證
列表被賦予一個屬性[必需]。當我提交選擇單個值的表單時,它通過了驗證,沒有打嗝。但是,多於一個,驗證就會失敗。
有什麼想法?
奇怪,我無法重現您的問題。
型號:
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>
}
如果沒有在列表中選擇任何項目顯示的驗證錯誤信息。如果選擇一個或多個項目,則驗證通過,並且不顯示錯誤消息。
哎呀,我想我找到了問題。對不起,發佈。我實際上有另一個驗證屬性[Integer],它攜帶與Required相同的ErrorMessage。 –