Asp.net mvc 如果表单有错误,则更改文本
目前,我的表单顶部有一条摘要消息,邀请我的用户登录。如果表单在提交时未验证,我希望随后用相关错误替换该表单 我能想到的唯一方法是隐藏初始文本(可能在Asp.net mvc 如果表单有错误,则更改文本,asp.net-mvc,asp.net-mvc-3,validation,Asp.net Mvc,Asp.net Mvc 3,Validation,目前,我的表单顶部有一条摘要消息,邀请我的用户登录。如果表单在提交时未验证,我希望随后用相关错误替换该表单 我能想到的唯一方法是隐藏初始文本(可能在@Html.Label中),然后显示@Html.ValidationSummary。然而,我觉得很有可能有一种更有效的方法来做到这一点 有人能帮忙吗?我想要一个@Html.Label助手,并使用ViewBag对象将数据传递给它。这样,当您测试ModelState.IsValid时,可以在控制器中设置ViewBag属性,以便将其传递给标签帮助器 有道理
@Html.Label
中),然后显示@Html.ValidationSummary
。然而,我觉得很有可能有一种更有效的方法来做到这一点
有人能帮忙吗?我想要一个
@Html.Label
助手,并使用ViewBag
对象将数据传递给它。这样,当您测试ModelState.IsValid
时,可以在控制器中设置ViewBag
属性,以便将其传递给标签帮助器
有道理吗?我就是这样做的。打开验证摘要
@Html.ValidationSummary(true)
在您的post
ActionResult中,检查ModelState
[HttpPost]
public ActionResult Foo( Bar _bar){
if(ModelState.IsValid){
//noral course of action
return RedirectToAction("Foo"); //Redirect to the GET method
}
ModelState.AddModelError("", "|Your Message Here");
return View(_bar);
}
不,这种方法没有问题。
我通常将单div与jquery一起用于表单验证等。 我在页面上创建了一个单独的div,其中可以显示任何类型的消息,以供用户参考。
例如:
如果我已经向用户显示了某种信息,它将显示如下:
div id='divMessage'</div>
$('#divMessage').html('Please fill the following form.').removeClass().addClass('msg');
我希望till会有用。这是一个快速的回复,我删除了我的原始评论谢谢你的回复@3nigma。但是,我已经有了一个验证摘要-如果显示了此验证摘要,我正在寻找隐藏消息的正确方法。
$('#divMessage').html('some error occurred.').removeClass().addClass('errmsg');