【发布时间】:2011-11-27 08:29:02
【问题描述】:
知道为什么以下下拉列表无法使用 int 类型的必填字段(下面的“标题”字段)进行验证吗?
[Required] // This works!
[Display(Name = "Name")]
public string Name { get; set; }
[Required] // This doesn't work
[Display(Name = "Title")]
public int TitleId { get; set; }
<div class="editor-label">
@Html.LabelFor(model => model.Name, "Name")
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name, "This can't be blank!")
</div>
<div class="editor-label">
@Html.LabelFor(model => model.TitleId, "Title")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.TitleId, (SelectList)ViewBag.TitleId, String.Empty)
@Html.ValidationMessageFor(model => model.TitleId)
</div>
【问题讨论】:
-
发布数据时,TitleId 是否有赋值?
-
如果是整数?仍然无法正常工作,也许您为下拉菜单设置了默认值?即:(0,“所有记录”)而不是空值?
-
不行...我将它设置为“-Select Me-”,不幸的是没有用。
标签: asp.net asp.net-mvc asp.net-mvc-3