我正在尝试将DropDownList验证工作。
模特中的:
[Required(ErrorMessage = "this field is required")]
public int ObjectTypeID { get; set; }
在视图中:
<div class="editor-field">
@Html.DropDownList("ObjectTypeID", string.Empty)
@Html.ValidationMessageFor(model => model.ObjectTypeID)
</div>
如果用户将选择留空,我希望客户端验证报警。但这不会发生。 可以做些什么?
答案 0 :(得分:0)
系统类型的行为是它们在初始化时必须具有值。整数的值为“0”。更改模型以接受可为空的int:
public int? ObjectTypeID { get; set; }
答案 1 :(得分:0)
只是想知道,但为什么不使用DropDownListFor?
要使客户端验证正常工作,我认为您需要打开ClientValidationEnabled&amp;您的项目的web.config中的UnobtrusiveJavaScriptEnabled,我相信您还需要在页面上引用jquery.validate.unobtrusive.min.js脚本吗?
答案 2 :(得分:0)
1)您没有加载下拉列表
2)使用DropDownListFor以使验证与ddl匹配