如果用户选择默认选项,如何显示错误消息?

时间:2014-07-01 11:06:43

标签: c# asp.net-mvc validation

我的DropDownList中有一个View,它在控制器中填充,并使用View传递给ViewBag.PussibleManager

@Html.DropDownList("PussibleManager", null, new { @class = "form-control" })

这个ddl的第一项是“请选择...”,它的值设置为-1。
如何检查所选项目是否“请选择...”并在用户按下保存按钮时显示Html.ValidationMessage之类的错误消息?

(我想强制用户选择管理员或保存按钮不起作用!)

enter image description here

2 个答案:

答案 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验证。