mvc 3查看数据验证

时间:2011-12-05 21:10:46

标签: asp.net-mvc-3

我正在尝试将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>

如果用户将选择留空,我希望客户端验证报警。但这不会发生。 可以做些什么?

3 个答案:

答案 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匹配