我的DropDownList
中有一个View
,它在控制器中填充,并使用View
传递给ViewBag.PussibleManager
@Html.DropDownList("PussibleManager", null, new { @class = "form-control" })
这个ddl的第一项是“请选择...”,它的值设置为-1。
如何检查所选项目是否“请选择...”并在用户按下保存按钮时显示Html.ValidationMessage
之类的错误消息?
(我想强制用户选择管理员或保存按钮不起作用!)
答案 0 :(得分:0)
您可以使用修改为组合框(http://jqueryui.com/resources/demos/autocomplete/combobox.html)
的JQuery UI自动完成P.S。:看一下页码。
答案 1 :(得分:0)
在您的视图中添加以下代码行:
@Html.Validate("PussibleManager")
然后在操作结果中添加类似于以下代码的内容:
public ActionResult NameOfAction(NameOfViewModel model)
{
if (model.PussibleManager = 0)
{
ModelState.AddModelError("PussibleManager", "ErrorMessageHere");
}
if (ModelState.IsValid)
{
// DO SOMETHING HERE
}
return View(model);
}
当表单提交(假设它是表单)时,它将发布到服务器。它会发现DDL出现错误,然后当它到达ModelState.IsValid
时它会返回false而不是继续执行它,返回到视图并返回错误消息。
这是众多示例中的一个,您可以在要传回的ViewModel上使用DataAnnotations。另外,NameOfViewModel只是一个包含您从视图传回服务器的项目的类。
或者,您可以根据其他用户的回复使用JQUERY验证。