Asp.net mvc 3 ASP.NET MVC 3列表框验证
正如标题中所述,我目前在ASP.NET MVC 3列表框验证方面遇到了一个奇怪的问题。基本上,我的viewmodel中有一个列表,我将其绑定到启用了多个选择的列表框 该列表具有一个属性[必需]。当我提交选中单个值的表单时,它通过了验证,没有任何问题。但是,如果有多个,验证将失败Asp.net mvc 3 ASP.NET MVC 3列表框验证,asp.net-mvc-3,validation,listbox,model-binding,Asp.net Mvc 3,Validation,Listbox,Model Binding,正如标题中所述,我目前在ASP.NET MVC 3列表框验证方面遇到了一个奇怪的问题。基本上,我的viewmodel中有一个列表,我将其绑定到启用了多个选择的列表框 该列表具有一个属性[必需]。当我提交选中单个值的表单时,它通过了验证,没有任何问题。但是,如果有多个,验证将失败 有什么想法吗?奇怪,我无法重现你的问题 型号: public class MyViewModel { [Required(ErrorMessage = "Please select at least one it
有什么想法吗?奇怪,我无法重现你的问题 型号:
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
});
}
}
}
视图:
@model MyViewModel
@使用(Html.BeginForm())
{
@Html.ListBoxFor(x=>x.SelectedItems,Model.Items)
@Html.ValidationMessageFor(x=>x.SelectedItems)
好啊
}
如果未在列表中选择任何项目,则验证错误消息将按预期显示。如果您选择了一个或多个项目,验证将通过,并且不会显示错误消息。奇怪,我无法重现您的问题 型号:
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
});
}
}
}
视图:
@model MyViewModel
@使用(Html.BeginForm())
{
@Html.ListBoxFor(x=>x.SelectedItems,Model.Items)
@Html.ValidationMessageFor(x=>x.SelectedItems)
好啊
}
如果未在列表中选择任何项目,则验证错误消息将按预期显示。如果选择一个或多个项目,验证将通过,并且不会显示错误消息。Oops,我想我发现了问题。抱歉发帖了。实际上,我有另一个验证属性[Integer],它携带与所需相同的ErrorMessage。抱歉发帖了。实际上,我还有另一个验证属性[Integer],它根据需要携带相同的ErrorMessage。
@model MyViewModel
@using (Html.BeginForm())
{
@Html.ListBoxFor(x => x.SelectedItems, Model.Items)
@Html.ValidationMessageFor(x => x.SelectedItems)
<button type="submit">OK</button>
}