【发布时间】:2014-12-19 09:43:35
【问题描述】:
我正在使用 MVC4 应用程序。下面是我的模型
public class ViewModel
{
public string AssignedUserName { get; set; }
public IList<SelectListItem> PossibleAssignees { get; set; }
[Required]
public string Comment { get; set; }
}
查看:
<table style="width: 100%; ">
<tr>
<td>Assigned To:</td>
<td>@Html.DropDownListFor(x => x.AssignedUserName, Model.PossibleAssignees)</td>
<td>@Html.ValidationMessageFor(m => m.AssignedUserName, "Assigned To Required")</td>
<tr></table>
PossibleAssignes 是一个下拉菜单,值应该是 -> EmptyString,"Mr.Barr"。
因此,如果用户选择 EmptyString 意味着我需要像“它是必需的”字段一样抛出验证。
我尝试添加 [Required] 字段验证器。它是一个集合,其中包含一些空字符串值作为下拉值, 所以我不确定如何使用 [Required] 字段来收集具有空字符串的集合。 我不想让空字符串用于下拉菜单。
我如何验证这一点?
【问题讨论】:
-
显示如何在视图中生成下拉列表和
IList<SelectListItem> -
@stephen 更新了查看代码
-
如果您将其更改为
@Html.DropDownListFor(x => x.AssignedUserName, Model.PossibleAssignees, "--Please select--"),它将使用空值呈现第一个选项,如果选中则会触发验证错误 -
您还需要将
[Required]属性添加到属性AssignedUserName -
@stephen 它将在下拉菜单中添加“请选择”。我不想要这个选项
标签: c# jquery asp.net-mvc asp.net-mvc-4